0

在查看创建 WCF 服务的各种示例和操作方法时,我注意到有些人用属性修饰界面代码,而另一些人则修饰实现代码。我了解使用 [ServiceContract] 装饰界面,但在哪里适合放置 [WebGet] 或 [WebInvoke] 或 [AspNetCompatibilityRequirements] 之类的东西?

4

2 回答 2

2

由于您正在编写类定义,因此最好将它们放在与实现它们的类相同的文件中。将它们放在界面上会让人很难记住如何使用该方法。在类和方法实现上使用它,您不会忘记!

于 2013-06-03T15:44:35.837 回答
2

大多数属性的正确位置不是由开发人员决定的,而是由 WCF 文档指定的。请参阅这些页面中的示例以了解正确的属性用法。

WebGet——接口、操作合约:http: //msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx

WebInvoke - 接口,操作合约:http: //msdn.microsoft.com/en-us/library/system.servicemodel.web.webinvokeattribute.aspx

AspNetCompatibilityRequirements - 服务实现:http: //msdn.microsoft.com/en-us/library/system.servicemodel.activation.aspnetcompatibilityrequirementsattribute.aspx

于 2013-06-03T18:03:05.213 回答