Получение абсолютно никакого ответа от веб-API при использовании HttpResponseMessage - PullRequest
0 голосов
/ 15 мая 2018

Я использую 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;
        }

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

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

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

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

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

0 голосов
/ 15 мая 2018
contactId

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

...