8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

WCF揭秘——共享数据契约

来源:本站原创 浏览:102次 时间:2021-09-10
WCF揭秘——共享数据契约            

当客户端引用WCF服务时,必须为服务定义一个唯一的命名空间。在默认情况下,这个服务中所用到的类会被导入到这个命名空间内。这样,在不同的服务内引用同一个数据契约时就会遇到一个问题:在客户端,同一个数据契约被导入到在不同的命名空间中,无����,����法实现转换。从Visual Studio 2008开始,系统为客户提供了“共享数据契约”这一功能。首先把需要共享的数据契约包含在一个程序集中,生成一个Model.dll文件。在客户端引用这一程序集,在添加服务引用时,选择"高级"—>"重新使用引用的程序集中的类型(A)"—>"重新使用所引用的指定程序集中的类型(S)"

当客户端引用WCF服务时,必须为服务定义一个唯一的命名空间。在默认情况下,这个服务中所用到的类会被导入到这个命名空间内。这样,在不同的服务内引用同一个数据契约时就会遇到一个问题:在客户端,同一个数据契约被导入到不同的命名空间中,无法实现转换。

在以下例子中,PersonService与ContractService同时包括对Person数据契约的引用,但通过PersonService获取到的Person对象,无法作为ContractService中的参数,因为在客户端,它们被引用到不同的命名空间之中,被视为不同的两个类。

   1:      [ServiceContract]
   2:      public interface IPersonService
   3:      {
   4:          [OperationContract]
   5:          Person GetPerson();
   6:      }
   7:
   8:      public class PersonService : IPersonService
   9:      {
  10:          public Person GetPerson()
  11:          {
  12:              Person person = new Person();
  13:              person.ID = 0;
  14:              person.Name = "Leslie";
  15:              person.Age = 34;
  16:              return person;
  17:          }
  18:      }
  19:
  20:      [ServiceContract]
  21:      public interface IContractService
  22:      {
  23:          [OperationContract]
  24:          Contract GetContractByPerson(Person person);
  25:      }
  26:
  27:      public class ContractService : IContractService
  28:      {
  29:          public Contract GetContractByPerson(Person person)
  30:          {
  31:              Contract contract=ContractManager.GetContractByPerson(person);
  32:              .....
  33:              return contract;
  34:          }
  35:      }
  36:

从Visual Studio 2008开始,系统为客户提供了“共享数据契约”这一功能。首先把需要共享的数据契约包含在一个程序集中,生成一个Model.dll文件。在客户端引用这一程序集,在添加服务引用时,选择"高级"—>"重新使用引用的程序集中的类型(R)"—>"重新使用所引用的指定程序集中的类型(S)",然后选择Model。这样,在客户端就会同时使用Model.dll中的Person对象。

 

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net