我创建了一个服务方法。这有OperationName和UriTemplate。我根据我的情况混淆了这两个名字。
[OperationContract(Name="MyMethod")]
[WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/MyMethod/{p1}")]
[Description("To get the data")]
string InternalMethodName(string p1);
我的理解
操作合同名称,用于指定方法的名称,如别名。因此,如果我没有给出任何UriTemplate,则name属性中指定的名称将被视为名称,如下所示
Http://myServer/MyService/Service1.svc/MyMethod?p1=value
UriTemplate用于绑定paramer绑定,以便我们可以自定义参数映射。所以,如果我像/ MyMethod / {p1}那样添加UriTemplate,他的服务会帮助显示
http://myServer/MyService/Service1.svc/MyMthod/value
这是我的困惑。所以,如果我添加这两个名称没有影响?那么这是最好的做法。那么你能否告诉我确切的意思,哪种是最佳实践。