Asp.net mvc wcf4.0&;同步框架2.0&;实体框架4.0&;ASP.NET MVC 2.0和;自动生成代码
我必须在我们的WPF应用程序中使用同步框架2.0,该应用程序将包含SQL Compact 3.5,并将与SQL Server 2008同步 我看了这个视频: 但我使用的是EntityFramework4.0和C 我对通过添加扩展名为sync的本地数据库缓存文件自动生成代码非常感兴趣。这很好,我可以修改部分类中的代码来更改基本功能 当我把客户端和服务器的代码放在WPF应用程序中时,一切都正常 当我使用包含服务器同步逻辑的WCF类库时,一切正常 但是。。。在下面的示例中,它们向我们展示了如何仅在我的计算机上运行解决方案并在本地“WCF主机”中托管WCF 第一个问题是: “如何从包含所有服务器同步逻辑的WCF类库创建类实例,然后将其托管并在ASP.NET MVC 2.0应用程序中公开。” 最重要的是要保留这个*.sync文件,不要手动编写所有代码。它让我可以在数据库架构发生更改时自动更新代码 第二个问题是: “当WCF类库实例在类库中的app.config上时,如何在我的web.config中配置该实例的终结点和行为?” 不幸的是,*.sync文件向导只能看到本地WPF应用程序或WCF类库,我不能直接选择ASP.NET MVC 2.0(这将非常好)来生成用于web应用程序中同步的类 我将非常高兴看到工作的例子 问候,,Asp.net mvc wcf4.0&;同步框架2.0&;实体框架4.0&;ASP.NET MVC 2.0和;自动生成代码,asp.net-mvc,wcf,entity-framework,synchronization,Asp.net Mvc,Wcf,Entity Framework,Synchronization,我必须在我们的WPF应用程序中使用同步框架2.0,该应用程序将包含SQL Compact 3.5,并将与SQL Server 2008同步 我看了这个视频: 但我使用的是EntityFramework4.0和C 我对通过添加扩展名为sync的本地数据库缓存文件自动生成代码非常感兴趣。这很好,我可以修改部分类中的代码来更改基本功能 当我把客户端和服务器的代码放在WPF应用程序中时,一切都正常 当我使用包含服务器同步逻辑的WCF类库时,一切正常 但是。。。在下面的示例中,它们向我们展示了如何仅在我的
Daniel Skowroński使用ASP.NET MVC 2.0中托管的同步逻辑创建WCF类库实例的解决方案:
- 按照以下步骤创建WCF类库
- 创建ASP.NET MVC 2.0应用程序并添加WCF服务
- 删除*.svc后面的C#文件*.cs
- 将项目引用从ASP.NET projet添加到WCF类库
- 在ASP.NET中编辑*.svc文件
<%@ ServiceHost Language="C#" Debug="true" Service="namespace-assembly.class" CodeBehind="filename.svc.cs" %>
其中,服务是将创建“namespace assembly.class”实例的工厂方法,因此,您必须将其更改为“wcf_librrary_namespace-assembly.***DataCacheSyncService”,并将CodeBehind更改为“wcf_librrary_namespace-assembly.filename.cs”
- 下一步,在wcf类库中修改wcf实例,使其能够使用与asp.net应用相同的凭据托管,只需添加:[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]属性即可
- 下一步配置web.config:
<service name="asp.net-namespace.wcf_service_name" behaviorConfiguration="service_nameBehavior"> <host> <baseAddresses> <add baseAddress="http://ipaddres/asp.net-app-name/service-name.svc" /> </baseAddresses> </host> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <endpoint address="" binding="basicHttpBinding" contract="wcf_librrary_namespace assembly.I****DataCacheSyncContract" /> </service> <behavior name="service_nameBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
下面
<system.serviceModel>
- 现在只需将其发布到服务器并创建ASP.NET应用程序
- 现在将服务引用添加到客户端应用程序
- 在这里,我们有一个问题,您将在何时执行: **DataCacheSyncAgent syncAgent=new**DataCacheSyncAgent(new**DataCacheSyncContractClient())
- 现在应该开始同步了