【发布时间】:2012-11-26 02:24:31
【问题描述】:
我正在尝试将字符串从客户端传输到 ASP.NET MVC4 应用程序。
但是我接收不到字符串,要么是空,要么就是找不到post方法(404错误)
传输字符串的客户端代码(控制台应用程序):
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:49032/api/test");
request.Credentials = new NetworkCredential("user", "pw");
request.Method = "POST";
string postData = "Short test...";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
Console.ReadLine();
ASP.NET Web API 控制器:
public class TestController : ApiController
{
[Authorize]
public String Post(byte[] value)
{
return value.Length.ToString();
}
}
在这种情况下,我可以调用“Post”方法,但“value”是NULL。
如果我将方法签名更改为(字符串值),它将永远不会被调用。
即使“没有”[Authorize] 设置,它也有同样奇怪的行为。 -> 所以它与用户认证无关。
任何想法我做错了什么? 感谢您的帮助。
【问题讨论】:
标签: c# asp.net asp.net-mvc post asp.net-web-api