0

このような契約を持つWCF Webサービスがあります

[OperationContract]
void UpdateEncounterStatus(int BookingID, string BookingStatus);

そしてクラスで

        [WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "UpdateEncounterStatus/{BookingID}/{BookingStatus}")]
        public void UpdateEncounterStatus(int BookingID, string BookingStatus)

しかし、それを呼び出すと、私は得る

コントラクト 'IPMA' の操作 'UpdateEncounterStatus' には、タイプ 'string' を持たない 'BookingID' という名前のパス変数があります。UriTemplate パス セグメントの変数は、'string' 型である必要があります。

パラメータを文字列に変更すると、得た

メソッドはそれを修正する方法を許可しませんでした

4

1 に答える 1

2

のルートに含まれるパラメータには文字列型のみを使用できますUriTemplate。あなたの例BookingIDではinteger、それはルートに入るので機能しません。BookingIDクエリ文字列に移動すると、うまくいきます。

詳細については、このスレッドを参照してください。

于 2012-06-13T10:23:57.270 に答える