ASP.NET MVC Исключение? - PullRequest
       16

ASP.NET MVC Исключение?

0 голосов
/ 14 января 2010

с сегодняшнего дня я получаю исключение на IIS7.5 с ASP.NET MVC, но я не знаю, почему.

Это происходит при использовании System.Net.WebClient.DownloadString ()

[WebException: удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.]

Если я открою URL в браузере. Сайт показывает нормально.

В VS2008 Состояние трассировки отладки: «200 OK»

Единственное, что он мог видеть, было:

Response.Headers "исключения типа« System.PlatformNotSupportedException »вызвано. System.Collections.Specialized.NameValueCollection {System.PlatformNotSupportedException}

Пожалуйста, используйте интегрированный режим конвейера в IIS.

Оба веб-сайта работают в одном пуле приложений .NET версии 2.0 с включенным интегрированным конвейером. DownloadString из, например, google.com и т. д. работает. Только если я позвоню в MVC, это повредит.

Вызываемый контроллер в MVC выглядит следующим образом:

    public void online()
    {
        Response.Write(Date.Time.Now);
        Response.End();
        return;
    }

Это работало раньше. Может кто-то может помочь получить больше деталей, чтобы выследить ошибка.

UPDATE:

Понял. Черт. Я проверил Subversion History в ASP.NET MVC и проверил каждую строку. В моем BaseController я недавно добавил:

string strUserAgent = Request.UserAgent.ToString().ToLower();

После удаления. Все снова работает. Но почему происходит сбой System.Net.WebClient при запросе для UserAgent? Даже с 200 статусом. Я проведу небольшое расследование.

1 Ответ

0 голосов
/ 14 января 2010

В моем случае это помогает:

if (Request.UserAgent != null)
{
  string strUserAgent = Request.UserAgent.ToString().ToLower();
}

но System.Net.WebClient довольно глупо, чтобы выдавать исключение, когда веб-сервер выполняет Request.UserAgent, даже если HTTP-статус 200.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...