6

私の契約内容は以下です。Json 応答と要求形式を使用し、POST メソッドも使用しています。このサービスを使用するクライアントを C# で作成する方法。

[OperationContract()]
[WebInvoke(UriTemplate = "/RESTJson_Sample1_Sample1Add", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
int RESTJson_Sample1_Sample1Add(Int32 a, Int32 b, Int32 c);
4

4 に答える 4

2

以下のようにしてみてください:

   [OperationContract()]
   [WebInvoke(UriTemplate = "/RESTJson_Sample1_Sample1Add?A=a&B=b&C=c", Method = "POST",  
     RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,   
     BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    int RESTJson_Sample1_Sample1Add(Int32 a, Int32 b, Int32 c);

       var httpWebRequest = (HttpWebRequest)WebRequest.Create("/RESTJson_Sample1_Sample1Add?A=a&B=b&C=c");
        httpWebRequest.ContentType = "text/json";
        httpWebRequest.Method = methodType;//POST/GET
        string responseText = "";
        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
        {
            streamWriter.Write(body);//any parameter
        }
        var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            responseText = streamReader.ReadToEnd();
        }
        return responseText;
于 2013-07-10T07:57:34.257 に答える
0

C# から REST サービスを利用したい場合は、RestSharpをご覧ください。WCF を使用すると、別のエンドポイントで basicHttp バインディングを使用して同じメソッドを公開し、SOAP を使用してそれを使用することもできます。

WebChannelFactory を参照することもできます。記事の最後にあるこの MSDN チュートリアルを参照してください。

于 2013-07-10T07:48:43.483 に答える