WCF代码中属性的位置?接口或代码

时间:2013-06-03 15:42:12

标签: wcf

在查看各种示例以及创建WCF服务的方法时,我注意到有些人使用属性修饰接口代码,而其他人则修饰了implmentation代码。我理解使用[ServiceContract]来装饰界面,但是[WebGet]或[WebInvoke]或[AspNetCompatibilityRequirements]等适当的位置在哪里?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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