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

属性在WCF代码中的位置?接口或代码,wcf,Wcf,在查看各种示例以及如何创建WCF服务时,我注意到有些人用属性修饰接口代码,而另一些人修饰实现代码。我理解用[ServiceContract]来装饰接口,但是[WebGet]或[WebInvoke]或[AspNetCompatibilityRequirements]之类的东西的合适位置在哪里?既然您正在编写类定义,最好将它们与实现它们的类放在同一个文件中。将它们放在接口上会使您很难记住如何使用该方法。在类和方法实现中使用它,您不会忘记 因为您正在编写类定义,所以最好将它们与实现它们的类放在同一个文

在查看各种示例以及如何创建WCF服务时,我注意到有些人用属性修饰接口代码,而另一些人修饰实现代码。我理解用[ServiceContract]来装饰接口,但是[WebGet]或[WebInvoke]或[AspNetCompatibilityRequirements]之类的东西的合适位置在哪里?

既然您正在编写类定义,最好将它们与实现它们的类放在同一个文件中。将它们放在接口上会使您很难记住如何使用该方法。在类和方法实现中使用它,您不会忘记

因为您正在编写类定义,所以最好将它们与实现它们的类放在同一个文件中。将它们放在接口上会使您很难记住如何使用该方法。在类和方法实现中使用它,您不会忘记

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

WebGet-界面、操作合同:

WebInvoke-接口、操作合同:

AspNetCompatibilityRequirements-服务实现:
大多数属性的正确位置不是由开发人员决定的,而是由WCF文档指定的。有关正确的属性用法,请参见这些页面中的示例

WebGet-界面、操作合同:

WebInvoke-接口、操作合同:

AspNetCompatibilityRequirements-服务实现: