WCFサービスにおいて、文字列でない int や long を サービス の パラメター(引数) に渡す方法を記載します。
インターフェースでは WebGet や WebInvoke を利用し、その中で UriTemplate を指定します。 この UriTemplate 中にでてくる Uri 変数 は基本的に string として解決されます。 数値(int、long)に変換するためには、クエリパラメターとして渡すと数値に変換できるようです。
以下にクエリパラメターを指定して数値を引き渡すサンプルコードおよびテストリクエストを掲載します。
サンプルコード
インターフェース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | namespace WcfService { using System.ServiceModel; using System.ServiceModel.Web; [ServiceContract] public interface IService1 { [OperationContract] [WebInvoke(Method = "GET" , RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/Title?isbn={isbn}" )] string GetTitle( int isbn); } } |
リクエスト
GET http://localhost:8000/Service/Title?isbn=1234 HTTP/1.1 User-Agent: Fiddler Host: localhost:8000 Content-Length: 0
関連記事
参考記事
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!