温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何理解WCF ServiceContract特性

发布时间:2021-11-22 18:36:47 来源:亿速云 阅读:201 作者:柒染 栏目:编程语言

这篇文章给大家介绍如何理解WCF ServiceContract特性,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

想要运用好一门技术就要了解它的基本的特性,比如类的特性,我们就来分析一下WCF ServiceContract特性。Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK)。

  • WCF中的Data Contract(4):WCF Data Co

  • 简介WCF Data Contract的两个版本

  • WCF Data Contract之集合类型

  • 简介WCF Data Contract之枚举

  • 代码演示WCF Data Contract序列化引擎案

WCF为服务提供了运行时环境(Runtime Environment),使得开发者能够将CLR类型公开为服务,又能够以CLR类型的方式使用服务。理论上讲,创建服务并不一定需要WCF,但实际上,使用WCF却可以使得创建服务的任务事半功倍。WCF是微软对一系列产业标准定义的实现,包括服务交互、类型转换、封送(Marshaling)以及各种协议的管理。正因为如此,WCF才能够提供服务之间的互操作性。WCF ServiceContract特性允许应用到接口或类上。当接口应用了Service-Contract特性后,需要定义类实现该接口。总的来讲,我们可以使用C#或VB去实现接口,服务类的代码无需修改,自然而然成为一个WCF服务:

[ServiceContract]  interface IMyContract  {  [OperationContract]  string MyMethod();  }  class MyService : IMyContract  {  public string MyMethod()  {  return "Hello WCF";  }  }

我们可以隐式或显式实现接口:

class MyService : IMyContract  {  string IMyContract.MyMethod()  {  return "Hello WCF";  }  }

一个单独的类通过继承和实现多个标记了WCF ServiceContract特性的接口,可以支持多个契约。

[ServiceContract]  interface IMyContract  {  [OperationContract]  string MyMethod();  }  [ServiceContract]  interface IMyOtherContract  {  [OperationContract]  void MyOtherMethod();  }  class MyService : IMyContract,IMyOtherContract  {  public string MyMethod()  {...}  public void MyOtherMethod()  {...}  }

然而,服务类还有一些实现上的约束。我们要避免使用带参构造函数,因为WCF只能使用默认构造函数。同样,虽然类可以使用内部(internal)的属性、索引器以及静态成员,但WCF客户端却无法访问它们。

关于如何理解WCF ServiceContract特性就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

wcf
AI