c# - 如何在 C# 中使用 WCF REST 服务?

标签 c# wcf rest wcf-rest

我的契约(Contract)详情如下。我正在使用 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);

最佳答案

尝试如下:

   [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;

关于c# - 如何在 C# 中使用 WCF REST 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17565072/

相关文章:

c# - Xamarin调试时,断点不停

c# - 假人的表达树?

c# - WCF DataContractJsonSerializer 并将 DateTime 对象设置为 UTC?

c# - 通过 GUI 访问 Windows 服务的最佳方式

spring - 使用 spring 和 restful webservice 自定义 HTTP 状态代码

c# - 错误 CS1001(需要标识符)

c# - 使用多列对数据表进行降序排序 C#

asp.net - 缓存 WCF 代理?

java - ExecutorService 在 REST API 中使用

java - Jersey : Is it possible to specify multiple values in @DefaultValue() annotation