Mercurial > silverbladetech
changeset 117:9eadccc3b46c
REST working, next step unit tests
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Common/Car.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,10 @@ +namespace SilverlightAsyncRestWcf.Common +{ + public class Car + { + public int Id { get; set; } + public string Make { get; set; } + public string Model { get; set; } + public int Year { get; set; } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Common/Properties/AssemblyInfo.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,30 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SilverlightAsyncRestWcf.Common")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SilverlightAsyncRestWcf.Common")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Common/SilverlightAsyncRestWcf.Common.csproj Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>SilverlightAsyncRestWcf.Common</RootNamespace> + <AssemblyName>SilverlightAsyncRestWcf.Common</AssemblyName> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkProfile>Profile3</TargetFrameworkProfile> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Compile Include="Car.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <Reference Include="System" /> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/CarService.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,56 @@ +using System; +using System.Diagnostics.Contracts; +using System.IO; +using System.Runtime.Serialization.Json; +using System.ServiceModel.Activation; +using System.ServiceModel.Web; +using SilverlightAsyncRestWcf.Common; + +namespace SilverlightAsyncRestWcf.Services +{ + [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] + public class CarService : IService<Car> + { + private readonly IRepository<Car> _repo; + private readonly DataContractJsonSerializer _serializer; + + public CarService() + { + _repo = new FakeCarRepository(); + _serializer = new DataContractJsonSerializer(typeof(Car)); + } + + public CarService(IRepository<Car> repo) + { + _repo = repo; + } + + [WebGet(UriTemplate = "Car/{id}")] + public string Get(string id) + { + Contract.Requires((bool)(id != null), "id != null"); + return _repo.GetById(id).ToJSON(); + } + + [WebInvoke(UriTemplate = "Car", Method = "POST")] + public void Insert(Car car) + { + Contract.Requires((bool)(car != null), "car != null"); + _repo.Insert(car); + } + + [WebInvoke(UriTemplate = "Car/{id}", Method = "PUT")] + public void Update(string id, Car car) + { + Contract.Requires((bool)(car != null), "car != null"); + _repo.Update(car); + } + + [WebInvoke(UriTemplate = "Car({id})", Method = "DELETE")] + public void Delete(string id) + { + Contract.Requires((bool)(id != null), "id != null"); + _repo.Delete(id); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/FakeCarRepository.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using SilverlightAsyncRestWcf.Common; + +namespace SilverlightAsyncRestWcf.Services +{ + public class FakeCarRepository : IRepository<Car> + { + private readonly IList<Car> _data; + + public FakeCarRepository() + { + _data = new List<Car> + { + new Car() {Id = 1, Make = "Rolls Royce", Model = "Bentley", Year = 1996}, + new Car() {Id = 2, Make = "Ford", Model = "Fiesta", Year = 1996}, + new Car() {Id = 3, Make = "Mercedes", Model = "C Class", Year = 1996}, + new Car() {Id = 4, Make = "BMW", Model = "7 Series", Year = 1996}, + new Car() {Id = 5, Make = "Jaguar", Model = "XKS", Year = 1996}, + new Car() {Id = 6, Make = "Audi", Model = "R8", Year = 1996} + }; + } + + public Car GetById(string id) + { + int number; + return Int32.TryParse(id, out number) + ? _data.SingleOrDefault(c => c.Id == number) + : null; + } + + public IQueryable<Car> GetAll() + { + return _data.AsQueryable(); + } + + public void Insert(Car entity) + { + _data.Add(entity); + } + + public void Update(Car entity) + { + var lookup = GetById(entity.Id.ToString()); + if (lookup == null) throw new Exception("Car not found"); + + lookup.Make = entity.Make; + lookup.Model = entity.Model; + lookup.Year = entity.Year; + } + + public void Delete(string id) + { + var lookup = GetById(id); + if (lookup == null) throw new Exception("Car not found"); + _data.Remove(lookup); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/IRepository.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using SilverlightAsyncRestWcf.Common; + +namespace SilverlightAsyncRestWcf.Services +{ + public interface IRepository<T> where T : class + { + T GetById(string id); + IQueryable<T> GetAll(); + void Insert(T entity); + void Update(T entity); + void Delete(string id); + } + + public interface IRepository + { + object GetById(string id); + IQueryable GetAll(); + void Insert(object entity); + void Update(object entity); + void Delete(string id); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/IService.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,20 @@ +using System.ServiceModel; + +namespace SilverlightAsyncRestWcf.Services +{ + [ServiceContract] + interface IService<T> + { + [OperationContract] + string Get(string id); + + [OperationContract] + void Insert(T entity); + + [OperationContract] + void Update(string id, T entity); + + [OperationContract] + void Delete(string id); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/JSONHelper.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,16 @@ +using System.Web.Script.Serialization; + +namespace SilverlightAsyncRestWcf.Services +{ + public static class JSONHelper + { + public static string ToJSON(this object obj) + { + // DataContractJsonSerializer can be used for tighter WCF integration + // ServiceStack and JSON.NET can be use to provide faster libraries + + var serializer = new JavaScriptSerializer(); + return serializer.Serialize(obj); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/Properties/AssemblyInfo.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SilverlightAsyncRestWcf.Services")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SilverlightAsyncRestWcf.Services")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("359328d7-9545-46f5-9e62-d9b39a5db7c3")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/SilverlightAsyncRestWcf.Services.csproj Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.30703</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{51FDF081-016A-4C35-BE5A-3224E9485749}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>SilverlightAsyncRestWcf.Services</RootNamespace> + <AssemblyName>SilverlightAsyncRestWcf.Services</AssemblyName> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Runtime.Serialization" /> + <Reference Include="System.ServiceModel" /> + <Reference Include="System.ServiceModel.Web" /> + <Reference Include="System.Web.Extensions" /> + </ItemGroup> + <ItemGroup> + <Compile Include="CarService.cs" /> + <Compile Include="JSONHelper.cs" /> + <Compile Include="FakeCarRepository.cs" /> + <Compile Include="IService.cs" /> + <Compile Include="IRepository.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\SilverlightAsyncRestWcf.Common\SilverlightAsyncRestWcf.Common.csproj"> + <Project>{072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}</Project> + <Name>SilverlightAsyncRestWcf.Common</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/Global.asax Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="SilverlightAsyncRestWcf.Web.Global" Language="C#" %>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/Global.asax.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,16 @@ +using System; +using System.ServiceModel.Activation; +using System.Web; +using System.Web.Routing; +using SilverlightAsyncRestWcf.Services; + +namespace SilverlightAsyncRestWcf.Web +{ + public class Global : HttpApplication + { + protected void Application_Start(object sender, EventArgs e) + { + RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(CarService))); + } + } +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/Properties/AssemblyInfo.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SilverlightAsyncRestWcf.Web")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SilverlightAsyncRestWcf.Web")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("52832dd2-00ee-41a0-9a47-e89c71b5612f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/Silverlight.js Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,2 @@ +//v2.0.30511.0 +if(!window.Silverlight)window.Silverlight={};Silverlight._silverlightCount=0;Silverlight.__onSilverlightInstalledCalled=false;Silverlight.fwlinkRoot="http://go2.microsoft.com/fwlink/?LinkID=";Silverlight.__installationEventFired=false;Silverlight.onGetSilverlight=null;Silverlight.onSilverlightInstalled=function(){window.location.reload(false)};Silverlight.isInstalled=function(b){if(b==undefined)b=null;var a=false,m=null;try{var i=null,j=false;if(window.ActiveXObject)try{i=new ActiveXObject("AgControl.AgControl");if(b===null)a=true;else if(i.IsVersionSupported(b))a=true;i=null}catch(l){j=true}else j=true;if(j){var k=navigator.plugins["Silverlight Plug-In"];if(k)if(b===null)a=true;else{var h=k.description;if(h==="1.0.30226.2")h="2.0.30226.2";var c=h.split(".");while(c.length>3)c.pop();while(c.length<4)c.push(0);var e=b.split(".");while(e.length>4)e.pop();var d,g,f=0;do{d=parseInt(e[f]);g=parseInt(c[f]);f++}while(f<e.length&&d===g);if(d<=g&&!isNaN(d))a=true}}}catch(l){a=false}return a};Silverlight.WaitForInstallCompletion=function(){if(!Silverlight.isBrowserRestartRequired&&Silverlight.onSilverlightInstalled){try{navigator.plugins.refresh()}catch(a){}if(Silverlight.isInstalled(null)&&!Silverlight.__onSilverlightInstalledCalled){Silverlight.onSilverlightInstalled();Silverlight.__onSilverlightInstalledCalled=true}else setTimeout(Silverlight.WaitForInstallCompletion,3e3)}};Silverlight.__startup=function(){navigator.plugins.refresh();Silverlight.isBrowserRestartRequired=Silverlight.isInstalled(null);if(!Silverlight.isBrowserRestartRequired){Silverlight.WaitForInstallCompletion();if(!Silverlight.__installationEventFired){Silverlight.onInstallRequired();Silverlight.__installationEventFired=true}}else if(window.navigator.mimeTypes){var b=navigator.mimeTypes["application/x-silverlight-2"],c=navigator.mimeTypes["application/x-silverlight-2-b2"],d=navigator.mimeTypes["application/x-silverlight-2-b1"],a=d;if(c)a=c;if(!b&&(d||c)){if(!Silverlight.__installationEventFired){Silverlight.onUpgradeRequired();Silverlight.__installationEventFired=true}}else if(b&&a)if(b.enabledPlugin&&a.enabledPlugin)if(b.enabledPlugin.description!=a.enabledPlugin.description)if(!Silverlight.__installationEventFired){Silverlight.onRestartRequired();Silverlight.__installationEventFired=true}}if(!Silverlight.disableAutoStartup)if(window.removeEventListener)window.removeEventListener("load",Silverlight.__startup,false);else window.detachEvent("onload",Silverlight.__startup)};if(!Silverlight.disableAutoStartup)if(window.addEventListener)window.addEventListener("load",Silverlight.__startup,false);else window.attachEvent("onload",Silverlight.__startup);Silverlight.createObject=function(m,f,e,k,l,h,j){var d={},a=k,c=l;d.version=a.version;a.source=m;d.alt=a.alt;if(h)a.initParams=h;if(a.isWindowless&&!a.windowless)a.windowless=a.isWindowless;if(a.framerate&&!a.maxFramerate)a.maxFramerate=a.framerate;if(e&&!a.id)a.id=e;delete a.ignoreBrowserVer;delete a.inplaceInstallPrompt;delete a.version;delete a.isWindowless;delete a.framerate;delete a.data;delete a.src;delete a.alt;if(Silverlight.isInstalled(d.version)){for(var b in c)if(c[b]){if(b=="onLoad"&&typeof c[b]=="function"&&c[b].length!=1){var i=c[b];c[b]=function(a){return i(document.getElementById(e),j,a)}}var g=Silverlight.__getHandlerName(c[b]);if(g!=null){a[b]=g;c[b]=null}else throw"typeof events."+b+" must be 'function' or 'string'";}slPluginHTML=Silverlight.buildHTML(a)}else slPluginHTML=Silverlight.buildPromptHTML(d);if(f)f.innerHTML=slPluginHTML;else return slPluginHTML};Silverlight.buildHTML=function(a){var b=[];b.push('<object type="application/x-silverlight" data="data:application/x-silverlight,"');if(a.id!=null)b.push(' id="'+Silverlight.HtmlAttributeEncode(a.id)+'"');if(a.width!=null)b.push(' width="'+a.width+'"');if(a.height!=null)b.push(' height="'+a.height+'"');b.push(" >");delete a.id;delete a.width;delete a.height;for(var c in a)if(a[c])b.push('<param name="'+Silverlight.HtmlAttributeEncode(c)+'" value="'+Silverlight.HtmlAttributeEncode(a[c])+'" />');b.push("</object>");return b.join("")};Silverlight.createObjectEx=function(b){var a=b,c=Silverlight.createObject(a.source,a.parentElement,a.id,a.properties,a.events,a.initParams,a.context);if(a.parentElement==null)return c};Silverlight.buildPromptHTML=function(b){var a="",d=Silverlight.fwlinkRoot,c=b.version;if(b.alt)a=b.alt;else{if(!c)c="";a="<a href='javascript:Silverlight.getSilverlight(\"{1}\");' style='text-decoration: none;'><img src='{2}' alt='Get Microsoft Silverlight' style='border-style: none'/></a>";a=a.replace("{1}",c);a=a.replace("{2}",d+"108181")}return a};Silverlight.getSilverlight=function(e){if(Silverlight.onGetSilverlight)Silverlight.onGetSilverlight();var b="",a=String(e).split(".");if(a.length>1){var c=parseInt(a[0]);if(isNaN(c)||c<2)b="1.0";else b=a[0]+"."+a[1]}var d="";if(b.match(/^\d+\056\d+$/))d="&v="+b;Silverlight.followFWLink("149156"+d)};Silverlight.followFWLink=function(a){top.location=Silverlight.fwlinkRoot+String(a)};Silverlight.HtmlAttributeEncode=function(c){var a,b="";if(c==null)return null;for(var d=0;d<c.length;d++){a=c.charCodeAt(d);if(a>96&&a<123||a>64&&a<91||a>43&&a<58&&a!=47||a==95)b=b+String.fromCharCode(a);else b=b+"&#"+a+";"}return b};Silverlight.default_error_handler=function(e,b){var d,c=b.ErrorType;d=b.ErrorCode;var a="\nSilverlight error message \n";a+="ErrorCode: "+d+"\n";a+="ErrorType: "+c+" \n";a+="Message: "+b.ErrorMessage+" \n";if(c=="ParserError"){a+="XamlFile: "+b.xamlFile+" \n";a+="Line: "+b.lineNumber+" \n";a+="Position: "+b.charPosition+" \n"}else if(c=="RuntimeError"){if(b.lineNumber!=0){a+="Line: "+b.lineNumber+" \n";a+="Position: "+b.charPosition+" \n"}a+="MethodName: "+b.methodName+" \n"}alert(a)};Silverlight.__cleanup=function(){for(var a=Silverlight._silverlightCount-1;a>=0;a--)window["__slEvent"+a]=null;Silverlight._silverlightCount=0;if(window.removeEventListener)window.removeEventListener("unload",Silverlight.__cleanup,false);else window.detachEvent("onunload",Silverlight.__cleanup)};Silverlight.__getHandlerName=function(b){var a="";if(typeof b=="string")a=b;else if(typeof b=="function"){if(Silverlight._silverlightCount==0)if(window.addEventListener)window.addEventListener("onunload",Silverlight.__cleanup,false);else window.attachEvent("onunload",Silverlight.__cleanup);var c=Silverlight._silverlightCount++;a="__slEvent"+c;window[a]=b}else a=null;return a};Silverlight.onRequiredVersionAvailable=function(){};Silverlight.onRestartRequired=function(){};Silverlight.onUpgradeRequired=function(){};Silverlight.onInstallRequired=function(){};Silverlight.IsVersionAvailableOnError=function(d,a){var b=false;try{if(a.ErrorCode==8001&&!Silverlight.__installationEventFired){Silverlight.onUpgradeRequired();Silverlight.__installationEventFired=true}else if(a.ErrorCode==8002&&!Silverlight.__installationEventFired){Silverlight.onRestartRequired();Silverlight.__installationEventFired=true}else if(a.ErrorCode==5014||a.ErrorCode==2106){if(Silverlight.__verifySilverlight2UpgradeSuccess(a.getHost()))b=true}else b=true}catch(c){}return b};Silverlight.IsVersionAvailableOnLoad=function(b){var a=false;try{if(Silverlight.__verifySilverlight2UpgradeSuccess(b.getHost()))a=true}catch(c){}return a};Silverlight.__verifySilverlight2UpgradeSuccess=function(d){var c=false,b="2.0.31005",a=null;try{if(d.IsVersionSupported(b+".99")){a=Silverlight.onRequiredVersionAvailable;c=true}else if(d.IsVersionSupported(b+".0"))a=Silverlight.onRestartRequired;else a=Silverlight.onUpgradeRequired;if(a&&!Silverlight.__installationEventFired){a();Silverlight.__installationEventFired=true}}catch(e){}return c} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/SilverlightAsyncRestWcf.Web.csproj Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion> + </ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{17E7255B-8A74-48BC-BC7E-DE137250A312}</ProjectGuid> + <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>SilverlightAsyncRestWcf.Web</RootNamespace> + <AssemblyName>SilverlightAsyncRestWcf.Web</AssemblyName> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <UseIISExpress>false</UseIISExpress> + <SilverlightApplicationList>{1884E77A-06B8-4932-93A7-E49F8AE316FD}|..\SilverlightAsyncRestWcf\SilverlightAsyncRestWcf.csproj|ClientBin|False</SilverlightApplicationList> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.ServiceModel" /> + <Reference Include="System.ServiceModel.Activation" /> + <Reference Include="System.ServiceModel.Web" /> + <Reference Include="System.Web.DynamicData" /> + <Reference Include="System.Web.Entity" /> + <Reference Include="System.Web.ApplicationServices" /> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Core" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="System.Web.Extensions" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Web" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Configuration" /> + <Reference Include="System.Web.Services" /> + <Reference Include="System.EnterpriseServices" /> + </ItemGroup> + <ItemGroup> + <Content Include="ClientBin\SilverlightAsyncRestWcf.xap" /> + <Content Include="Global.asax" /> + <Content Include="Silverlight.js" /> + <Content Include="index.html" /> + <Content Include="Web.config" /> + <Content Include="Web.Debug.config"> + <DependentUpon>Web.config</DependentUpon> + </Content> + <Content Include="Web.Release.config"> + <DependentUpon>Web.config</DependentUpon> + </Content> + </ItemGroup> + <ItemGroup> + <Compile Include="Global.asax.cs"> + <DependentUpon>Global.asax</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup /> + <ItemGroup> + <ProjectReference Include="..\SilverlightAsyncRestWcf.Services\SilverlightAsyncRestWcf.Services.csproj"> + <Project>{51FDF081-016A-4C35-BE5A-3224E9485749}</Project> + <Name>SilverlightAsyncRestWcf.Services</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> + <ProjectExtensions> + <VisualStudio> + <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> + <WebProjectProperties> + <UseIIS>False</UseIIS> + <AutoAssignPort>True</AutoAssignPort> + <DevelopmentServerPort>5349</DevelopmentServerPort> + <DevelopmentServerVPath>/</DevelopmentServerVPath> + <IISUrl> + </IISUrl> + <NTLMAuthentication>False</NTLMAuthentication> + <UseCustomServer>False</UseCustomServer> + <CustomServerUrl> + </CustomServerUrl> + <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> + </WebProjectProperties> + </FlavorProperties> + </VisualStudio> + </ProjectExtensions> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/Web.config Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<configuration> + <system.web> + <compilation debug="true" targetFramework="4.0" /> + </system.web> + + <system.serviceModel> + <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> + <standardEndpoints> + <webHttpEndpoint> + <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/> + </webHttpEndpoint> + </standardEndpoints> + </system.serviceModel> + +</configuration>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Web/index.html Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,73 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" > + +<head> + <title>SilverlightAsyncRestWcf</title> + <style type="text/css"> + html, body { + height: 100%; + overflow: auto; + } + body { + padding: 0; + margin: 0; + } + #silverlightControlHost { + height: 100%; + text-align:center; + } + </style> + <script type="text/javascript" src="Silverlight.js"></script> + <script type="text/javascript"> + function onSilverlightError(sender, args) { + var appSource = ""; + if (sender != null && sender != 0) { + appSource = sender.getHost().Source; + } + + var errorType = args.ErrorType; + var iErrorCode = args.ErrorCode; + + if (errorType == "ImageError" || errorType == "MediaError") { + return; + } + + var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ; + + errMsg += "Code: "+ iErrorCode + " \n"; + errMsg += "Category: " + errorType + " \n"; + errMsg += "Message: " + args.ErrorMessage + " \n"; + + if (errorType == "ParserError") { + errMsg += "File: " + args.xamlFile + " \n"; + errMsg += "Line: " + args.lineNumber + " \n"; + errMsg += "Position: " + args.charPosition + " \n"; + } + else if (errorType == "RuntimeError") { + if (args.lineNumber != 0) { + errMsg += "Line: " + args.lineNumber + " \n"; + errMsg += "Position: " + args.charPosition + " \n"; + } + errMsg += "MethodName: " + args.methodName + " \n"; + } + + throw new Error(errMsg); + } + </script> +</head> +<body> + <form id="form1" runat="server" style="height:100%"> + <div id="silverlightControlHost"> + <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> + <param name="source" value="ClientBin/SilverlightAsyncRestWcf.xap"/> + <param name="onError" value="onSilverlightError" /> + <param name="background" value="white" /> + <param name="minRuntimeVersion" value="4.0.50826.0" /> + <param name="autoUpgrade" value="true" /> + <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"> + <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> + </a> + </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> + </form> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.sln Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,38 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverlightAsyncRestWcf", "SilverlightAsyncRestWcf\SilverlightAsyncRestWcf.csproj", "{1884E77A-06B8-4932-93A7-E49F8AE316FD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverlightAsyncRestWcf.Web", "SilverlightAsyncRestWcf.Web\SilverlightAsyncRestWcf.Web.csproj", "{17E7255B-8A74-48BC-BC7E-DE137250A312}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverlightAsyncRestWcf.Services", "SilverlightAsyncRestWcf.Services\SilverlightAsyncRestWcf.Services.csproj", "{51FDF081-016A-4C35-BE5A-3224E9485749}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverlightAsyncRestWcf.Common", "SilverlightAsyncRestWcf.Common\SilverlightAsyncRestWcf.Common.csproj", "{072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1884E77A-06B8-4932-93A7-E49F8AE316FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1884E77A-06B8-4932-93A7-E49F8AE316FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1884E77A-06B8-4932-93A7-E49F8AE316FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1884E77A-06B8-4932-93A7-E49F8AE316FD}.Release|Any CPU.Build.0 = Release|Any CPU + {17E7255B-8A74-48BC-BC7E-DE137250A312}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {17E7255B-8A74-48BC-BC7E-DE137250A312}.Debug|Any CPU.Build.0 = Debug|Any CPU + {17E7255B-8A74-48BC-BC7E-DE137250A312}.Release|Any CPU.ActiveCfg = Release|Any CPU + {17E7255B-8A74-48BC-BC7E-DE137250A312}.Release|Any CPU.Build.0 = Release|Any CPU + {51FDF081-016A-4C35-BE5A-3224E9485749}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {51FDF081-016A-4C35-BE5A-3224E9485749}.Debug|Any CPU.Build.0 = Debug|Any CPU + {51FDF081-016A-4C35-BE5A-3224E9485749}.Release|Any CPU.ActiveCfg = Release|Any CPU + {51FDF081-016A-4C35-BE5A-3224E9485749}.Release|Any CPU.Build.0 = Release|Any CPU + {072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/App.xaml Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,8 @@ +<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + x:Class="SilverlightAsyncRestWcf.App" + > + <Application.Resources> + + </Application.Resources> +</Application>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/App.xaml.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Shapes; + +namespace SilverlightAsyncRestWcf +{ + public partial class App : Application + { + + public App() + { + this.Startup += this.Application_Startup; + this.Exit += this.Application_Exit; + this.UnhandledException += this.Application_UnhandledException; + + InitializeComponent(); + } + + private void Application_Startup(object sender, StartupEventArgs e) + { + this.RootVisual = new MainPage(); + } + + private void Application_Exit(object sender, EventArgs e) + { + + } + + private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) + { + // If the app is running outside of the debugger then report the exception using + // the browser's exception mechanism. On IE this will display it a yellow alert + // icon in the status bar and Firefox will display a script error. + if (!System.Diagnostics.Debugger.IsAttached) + { + + // NOTE: This will allow the application to continue running after an exception has been thrown + // but not handled. + // For production applications this error handling should be replaced with something that will + // report the error to the website and stop the application. + e.Handled = true; + Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); }); + } + } + + private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e) + { + try + { + string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace; + errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n"); + + System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");"); + } + catch (Exception) + { + } + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/MainPage.xaml Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,12 @@ +<UserControl x:Class="SilverlightAsyncRestWcf.MainPage" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d" + d:DesignHeight="300" d:DesignWidth="400"> + + <Grid x:Name="LayoutRoot" Background="White"> + + </Grid> +</UserControl>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/MainPage.xaml.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Shapes; + +namespace SilverlightAsyncRestWcf +{ + public partial class MainPage : UserControl + { + public MainPage() + { + InitializeComponent(); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/Properties/AppManifest.xml Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,6 @@ +<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" +> + <Deployment.Parts> + </Deployment.Parts> +</Deployment>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/Properties/AssemblyInfo.cs Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SilverlightAsyncRestWcf")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SilverlightAsyncRestWcf")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("61868a30-bba4-4c55-af6a-e8233ebf7122")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.csproj Sun May 27 15:06:35 2012 +0100 @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{1884E77A-06B8-4932-93A7-E49F8AE316FD}</ProjectGuid> + <ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>SilverlightAsyncRestWcf</RootNamespace> + <AssemblyName>SilverlightAsyncRestWcf</AssemblyName> + <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion> + <SilverlightApplication>true</SilverlightApplication> + <SupportedCultures> + </SupportedCultures> + <XapOutputs>true</XapOutputs> + <GenerateSilverlightManifest>true</GenerateSilverlightManifest> + <XapFilename>SilverlightAsyncRestWcf.xap</XapFilename> + <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate> + <SilverlightAppEntry>SilverlightAsyncRestWcf.App</SilverlightAppEntry> + <TestPageFileName>SilverlightAsyncRestWcfTestPage.html</TestPageFileName> + <CreateTestPage>true</CreateTestPage> + <ValidateXaml>true</ValidateXaml> + <EnableOutOfBrowser>false</EnableOutOfBrowser> + <OutOfBrowserSettingsFile>Properties\OutOfBrowserSettings.xml</OutOfBrowserSettingsFile> + <UsePlatformExtensions>false</UsePlatformExtensions> + <ThrowErrorsInValidation>true</ThrowErrorsInValidation> + <LinkedServerProject> + </LinkedServerProject> + </PropertyGroup> + <!-- This property group is only here to support building this project using the + MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs + to set the TargetFrameworkVersion to v3.5 --> + <PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'"> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>Bin\Debug</OutputPath> + <DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants> + <NoStdLib>true</NoStdLib> + <NoConfig>true</NoConfig> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>Bin\Release</OutputPath> + <DefineConstants>TRACE;SILVERLIGHT</DefineConstants> + <NoStdLib>true</NoStdLib> + <NoConfig>true</NoConfig> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="mscorlib" /> + <Reference Include="System.Windows" /> + <Reference Include="system" /> + <Reference Include="System.Core" /> + <Reference Include="System.Net" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Windows.Browser" /> + </ItemGroup> + <ItemGroup> + <Compile Include="App.xaml.cs"> + <DependentUpon>App.xaml</DependentUpon> + </Compile> + <Compile Include="MainPage.xaml.cs"> + <DependentUpon>MainPage.xaml</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ApplicationDefinition Include="App.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </ApplicationDefinition> + <Page Include="MainPage.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + </ItemGroup> + <ItemGroup> + <None Include="Properties\AppManifest.xml" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\SilverlightAsyncRestWcf.Common\SilverlightAsyncRestWcf.Common.csproj"> + <Project>{072EF229-0478-4FB2-A4D8-AEB50AC6D6CD}</Project> + <Name>SilverlightAsyncRestWcf.Common</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> + <ProjectExtensions> + <VisualStudio> + <FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}"> + <SilverlightProjectProperties /> + </FlavorProperties> + </VisualStudio> + </ProjectExtensions> +</Project> \ No newline at end of file