C# REST服务接收空参数
我试图与我的rest服务通信,但这一个总是返回我的sended参数为空,但在我的客户端控制台中,他已被填充 以下是接口类:C# REST服务接收空参数,c#,wcf,web-services,c#-4.0,rest,C#,Wcf,Web Services,C# 4.0,Rest,我试图与我的rest服务通信,但这一个总是返回我的sended参数为空,但在我的客户端控制台中,他已被填充 以下是接口类: [ServiceContract] public interface IMyTest { [OperationContract] [WebInvoke(UriTemplate = "TestMe", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessa
[ServiceContract]
public interface IMyTest
{
[OperationContract]
[WebInvoke(UriTemplate = "TestMe", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped)]
string TestMe(string parameter);
}
我的svc方法:
public string TestMe(string parameter)
{
if (string.IsNullOrEmpty(parameter)
return "Empty";
return "OK";
}
我的客户:
string content = "{\"Param\" : \"TEST\"}";
var request = WebRequest.Create("http://localhost/MyTestURL/MyTest.svc/TestMe");
request.Method = "POST";
request.ContentType = "application/json";
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(content);
}
var res = (WebResponse)request.GetResponse();
StreamReader reader =
new StreamReader(res.GetResponseStream(), Encoding.UTF8);
System.Console.WriteLine("Response");
System.Console.WriteLine(reader.ReadToEnd().ToString());
我的客户端代码不正常吗?我的外形不好
谢谢。如果希望以字符串形式获取请求,请使用流而不是字符串参数
public void TestMe(Stream dataStream)
如果没有,请使用serializable to Json对象作为参数。我发现了一个很好的方法,它帮助我用stream参数实现了这个方法。谢谢。您也要传递内容长度标题吗?我也测试了传递内容长度,但没有任何更改。我测试了将字符串更改为流,但现在我得到了错误请求的响应400。