ServiceContract,OperationContract
Posted 炫丽彩虹的男人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ServiceContract,OperationContract相关的知识,希望对你有一定的参考价值。
代码如下 [ServiceContract] //服务协定定义
using System.ServiceModel;
public interface IInterface1
{
[OperationContract] //要公开的服务方法
string Function1(int value);
}
在c#中,“[...]”这个叫做Attribute,一般翻译为“特性”,而不是“属性”(因为“属性”已代表其他意思)
特性是一个继承自System.Attribute类的类,其实特性和注释(即“/* ... */”)类似,是用于描述程序集、类型、成员的“备注信息”,和注释不同的是:注释是给“人”看的,而特性是给“编译器”看的,
举例来说:[ServiceContract] 这个特性告诉编译器,该类型(指IInterface1)是一个服务契约,
[OperationContract] 这个特性告诉编译器,该成员(指Function1)是一个操作契约,这样在编程的时候,用反射机制可以判断出,哪些类型标记过服务契约,哪些成员标记过操作契约,在WCF中会找到这些做服务,
[OperationContract] 他这句会执行什么代码马??在WCF中,会找出所有标记OperationContract特性的成员作为服务
以上是关于ServiceContract,OperationContract的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在运行时将命名空间动态更改为 ServiceContract?
WCF 服务 - 运行时看不到接口上的 ServiceContract