WebClient.UploadString возвращает 500 отправок в веб-службу, запущенную на IIS Express - PullRequest
0 голосов
/ 19 июня 2019

Я использую .NET Framework 4.5.1 WebClient и отправляю сообщения на * .ashx, который у меня работает локально, чтобы я мог отлаживать. Клиентский сайт использует такой код:

var cli = new WebClient();
cli.Headers[ HttpRequestHeader.ContentType ] = "application/json";

var job = new
{
    Inputs = inputs,
    InputTables = inputTables,
    ...
};

var configuration = Newtonsoft.Json.JsonConvert.SerializeObject( job );

var response = cli.UploadString(
    serviceUrl,
    configuration
);

serviceUrl - http://localhost:54300/Calculation.ashx и работает под управлением IIS Express.

Веб-сервис возвращает результат через:

    private void ReturnResponse( HttpContext context, JObject result )
    {
        using ( var textWriter = new StreamWriter( context.Response.OutputStream ) )
        {
            context.Response.ContentType = "application/json";
            using ( var jsonWriter = new JsonTextWriter( textWriter ) )
            {
                result.WriteTo( jsonWriter );
            }
        }
    }

Это все работает на моем собственном персональном компьютере, но на компьютере, выпущенном моей компанией, он не работает, и я теряюсь, где искать. Я предполагаю, что это какая-то настройка безопасности, или, по крайней мере, я надеюсь.

На компьютере моей компании клиентский сайт успешно отправляется в веб-службу, я прошел через код веб-службы и все работает там, и он возвращает результат через ReturnResponse, и все выглядит правильно. Но клиентский сайт затем выдает ошибку 500 'Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.' без дополнительной информации.

Дополнительно : Этот код работает нормально, если сайт клиента (работающий на компьютере моей компании) отправляется в веб-службу, когда веб-служба размещена в Интернете (очевидно, работает в IIS). Так что код в порядке - на мой взгляд :) - но создает проблему только тогда, когда веб-сервис работает локально.

Кто-нибудь знает какие-то настройки безопасности / настройки, которые могут быть причиной этого? Как я уже сказал, он отлично работал на нескольких персональных компьютерах без проблем.

...