Получение абсолютно никакого ответа от веб-API при использовании HttpResponseMessage

Я использую HttpResponseMessage в своем веб-API, потому что он значительно упрощает вещи. Проблема, с которой я сталкиваюсь, заключается в том, что при тестировании кода в VS 2017, работающем под управлением IIS Express, мой код выполняется без проблем, но я ничего не получаю в ответ, когда тестирую из Postman. Мне интересно, связано ли это с заголовками и / или конфигурацией. Вот что почтальон отправляет обратно:

Не удалось получить ответ. При подключении к http://localhost:12345/Url/RequestUrl произошла ошибка.

Это часть кода, которая выполняется:

[OperationContract]
[ADAuthorize(Action = "RequestUrl", Controller = "Url")]
[HttpPost]
public HttpResponseMessage RequestUrl(Stream inputServiceRequestParameters)
{
    Request = new HttpRequestMessage();
    Configuration = new HttpConfiguration();

    try
    {
        // Retrieve and place JSON parameters into object.
        var serviceRequestParameters = JsonFunctions.GetServiceRequestParameters(inputServiceRequestParameters);
        // Retrieve member GUID from LDAP.
        var contactId = LdapFunctions.GetMemberCrmGuid(serviceRequestParameters.MemberNumber);

        // Member information not found in LDAP, so return without processing.
        if (contactId == null)
        {
            var response = Request.CreateResponse(HttpStatusCode.InternalServerError,
                JsonFunctions.BuildErrorResponse("", Constants.ValidationMessage.MEMBER_NOT_IN_LDAP));

            response.Content = new StringContent(JsonFunctions.BuildErrorResponse("", Constants.ValidationMessage.MEMBER_NOT_IN_LDAP));
            response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            return response;
        }

[Остальная часть класса продолжается после этого...]

Весь этот код работает прекрасно, но ничего не возвращается. Даже Fiddler жалуется, что ReadResponse() не удалось.

Я посмотрел на безумное количество примеров и до сих пор не могу понять, что происходит, что мне не хватает.

2 ответа

Я нашел ответ: в основном у меня была путаница ссылок на MVC и Web API с небольшим количеством WFC в конфигурации! Я знаю, что это происходит, когда вы ссылаетесь на старый экспериментальный код. Урок наверняка усвоен. Дело в том, что.Net не будет кричать о каких-либо ошибках, просто молча провалится.

contactId

может быть нулевым Если это так, ваш код, вероятно, возвращает нулевой ответ, что приведет к описанному вами поведению.

Другие вопросы по тегам