WCFサービスにおいて、文字列でない int や long を サービス の パラメター(引数) に渡す方法を記載します。
インターフェースでは WebGet や WebInvoke を利用し、その中で UriTemplate を指定します。 この UriTemplate 中にでてくる Uri 変数 は基本的に string として解決されます。 数値(int、long)に変換するためには、クエリパラメターとして渡すと数値に変換できるようです。
以下にクエリパラメターを指定して数値を引き渡すサンプルコードおよびテストリクエストを掲載します。
サンプルコード
インターフェース
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 の フォロー」 お願いします!!