【发布时间】:2011-04-11 16:45:18
【问题描述】:
我正在实现一个 .Net WCF 服务,并且我想为未来的版本控制应用一个命名空间。一位同事提到我应该对接口和该接口的具体实现类应用几个属性,但我不清楚 1)这是否正确,以及 2)假设它是正确,为什么在两个地方都应用属性很重要。
[ServiceContract]
[ServiceBehavior(Namespace = Constants.NameSpace1_0)]
[WebService(Namespace = Constants.NameSpace1_0, Name = "MyService1_0")]
[WebServiceBindingAttribute(ConformsTo = System.Web.Services.WsiProfiles.BasicProfile1_1, EmitConformanceClaims = true)]
public interface IMyService
{
[OperationContract]
[OperationContract(Name = "MyMethod", Action = Constants.NameSpace1_0 + "/IMyService/MyMethod")]
string MyMethod(string phrase);
}
public class MyServiceConcrete : IMyService
{
public string MyMethod(string phrase);
}
在这个例子中,我是否也应该将应用于接口的属性应用于实现 MyService 接口的具体类(及其方法)?我应该在两个地方还是只在其中一个地方应用相同的属性,为什么?谢谢。
【问题讨论】:
标签: .net interface attributes wcf