サービスメソッドを作成します。これには OperationName と UriTemplate があります。私のシナリオに基づいて、この 2 つの名前を混同しています。
[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 を使用してパラメーター バインディングをバインドし、パラメーター マッピングをカスタマイズできるようにします。したがって、 /MyMethod/{p1} のような UriTemplate を追加すると、サービスは次のように表示されます
http://myServer/MyService/Service1.svc/MyMthod/value
これが私の混乱です。それで、両方を追加しても名前に影響はありませんか?次に、使用するベストプラクティスです。正確な意味と、使用するベストプラクティスを教えてください。