ASP.NET MVC 异常?

发布于 2024-08-18 01:12:20 字数 1041 浏览 10 评论 0原文

从今天开始,我在使用 ASP.NET MVC 的 IIS7.5 上遇到异常,但我不知道为什么。

使用 System.Net.WebClient.DownloadString() 时会发生这种情况

[WebException: 远程服务器返回错误: (500) 内部服务器错误。]

如果我在浏览器中打开 URL。网站显示正常。

在 VS2008 调试跟踪状态是:“200 OK”

它唯一能看到的是:

引起类型异常“System.PlatformNotSupportedException”的 Response.Headers。System.Collections.Specialized.NameValueCollection {System.PlatformNotSupportedException}

请使用集成管道模式在 IIS 中,

两个网站都在启用了集成管道的同一个 v2.0 .NET 应用程序池中运行。 来自例如 google.com 等的 DownloadString 可以工作。只有当我调用 MVC 时它才会损坏。

在 MVC 中调用的控制器看起来像这样:

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

它以前工作过。希望有人可以帮助您获取更多详细信息以进行追踪 错误。

更新:

明白了。该死的。我检查了 ASP.NET MVC 中的 Subversion 历史记录并检查了每一行。 在我的 BaseController 中,我最近添加了:

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

删除后。一切又恢复正常了。但为什么 System.Net.WebClient 在询问时会崩溃 对于用户代理?即使有 200 状态。我将对此进行一些调查。

since today i get an Exception on IIS7.5 with ASP.NET MVC, but i dont know why.

It occurs while using System.Net.WebClient.DownloadString()

[WebException: The remote server returned an error: (500) Internal Server Error.]

If I open URL in Browser. Site shows up fine.

In VS2008 Debug Trace Status is: "200 OK"

The only thing it could see was:

Response.Headers" of Type Exception "System.PlatformNotSupportedException" caused. System.Collections.Specialized.NameValueCollection {System.PlatformNotSupportedException}

Please use integrated Pipeline Mode in IIS.

Both Website run within the same v2.0 .NET Application Pool with Integrated Pipeline enabled.
DownloadString from e.g. google.com etc works. Only if I call the MVC it corrupts.

Called Controller in MVC looks like this:

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

It worked before. May someone can help to get more details to track down
the error.

UPDATE:

Got it. Damn it. I checked Subversion History in ASP.NET MVC an checked every line.
In my BaseController, i added recently:

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

After remove. Everything works again. But why is System.Net.WebClient crashing when asking
for UserAgent? Even with 200 Status. I'll give this a little investigation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冧九 2024-08-25 01:12:20

就我而言,这确实有效:

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

但是当 Web 服务器执行 Request.UserAgent 时,即使 HTTP 状态为 200,System.Net.WebClient 抛出异常也是相当愚蠢的。

In my case this does the trick:

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

but its quite stuipid of System.Net.WebClient to throw an Exception when Webserver is doing Request.UserAgent even there is HTTP Status 200.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文