Строка POST для приложения ASP.NET Web Api - возвращает ноль

Я пытаюсь передать строку из клиента в приложение 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 Controller:

public class TestController : ApiController
{
    [Authorize]
    public String Post(byte[] value)
    {
        return value.Length.ToString();
    }
}

В этом случае я могу вызвать метод «Post», но «значение»NULL, Если я изменю сигнатуру метода на (строковое значение), он никогда не будет вызван.

Даже "без" настройки [Авторизовать] у него такое же странное поведение. -> Так что это не имеет ничего общего с аутентификацией пользователя.

Есть идеи, что я делаю не так? Я благодарен за любую помощь.

Ответы на вопрос(7)

Ваш ответ на вопрос