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