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

Ajax 调用 restful WS 总是出错(fiddler 得到很好的响应)

WCF笔记

wcf服务契约继承

不支持嵌套查询。 Operation1='UnionAll' Operation2='MultiStreamNest'