ServiceContract,OperationContract

来源:互联网 发布:excel剔除某些数据 编辑:程序博客网 时间:2024/05/08 07:08

代码如下 [ServiceContract] //服务协定定义

using System.ServiceModel;

 public interface IInterface1

 {

 [OperationContract] //要公开的服务方法 

 string Function1(int value); 

 }


在c#中,“[...]”这个叫做Attribute,一般翻译为“特性”,而不是“属性”(因为“属性”已代表其他意思)

特性是一个继承自System.Attribute类的类,其实特性和注释(即“/* ... */”)类似,是用于描述程序集、类型、成员的“备注信息”,和注释不同的是:注释是给“人”看的,而特性是给“编译器”看的,

举例来说:[ServiceContract] 这个特性告诉编译器,该类型(指IInterface1)是一个服务契约,

[OperationContract] 这个特性告诉编译器,该成员(指Function1)是一个操作契约,这样在编程的时候,用反射机制可以判断出,哪些类型标记过服务契约,哪些成员标记过操作契约,在WCF中会找到这些做服务,

[OperationContract] 他这句会执行什么代码马??在WCF中,会找出所有标记OperationContract特性的成员作为服务

原创粉丝点击