クライアントからASP.NETMVC4アプリケーションに文字列を送信しようとしています。
しかし、文字列を受信できません。nullであるか、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
です。メソッドのシグネチャを(文字列値)に変更すると、呼び出されることはありません。
[承認]設定が「ない」場合でも、同じ奇妙な動作をします。->つまり、ユーザー認証とは何の関係もありません。
私が間違っていることについて何か考えはありますか?助けてくれてありがとう。