0

我创建了一个服务方法。这有 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

这是我的困惑。那么,如果我添加两者对名称没有影响?那么这是使用的最佳实践。那么你能告诉我确切的含义吗?这是最好的做法。

4

1 回答 1

0

我明白了。实际上 uriTemplate 是对输入进行屏蔽,操作 cotract name 是别名。这个链接帮助了我

于 2014-02-13T04:11:14.023 回答