1

我的解决方案中有两个 ASP.NET 项目,并在我开始调试时在不同的 localhost 端口上运行。我在站点 A 中有一个通用处理程序,由站点 B 调用:

String url = "http://localhost:1234/UrlOnSiteA.ashx";
WebClient client = New WebClient();
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.OpenRead(url);

OpenRead 调用抛出一个 500 错误的异常,我不知道为什么。错误信息是:

System.Net.WebException:远程服务器返回错误:(500)内部服务器错误。

其他信息:

  • 处理程序代码的第一行上的断点未命中。
  • 当在浏览器中使用其 URL 时,处理程序正常运行(并命中断点)。
  • Visual Studio 2008 Professional,运行 .NET 2.0 站点。

我怀疑是配置问题。有任何想法吗?

4

1 回答 1

1

我会首先通过找出导致异常的原因来诊断这一点。查看 WebException 的 Response 属性,并阅读返回的 HTML。有什么线索吗?(您可能需要在 web.config 中禁用自定义错误才能看到实际的错误响应。)

获取相同响应信息的另一种方法是使用 Fiddler,并将 WebClient 调用的代理设置为 Fiddler 代理地址。然后您可以使用 fiddler 查看响应 HTML。

稍微不同的方法是更改​​ Visual Studio 中的异常设置,以便在抛出 WebException 时中断调试器。您可以从 Debug...Exceptions... 对话框执行此操作。

于 2009-09-17T18:04:45.787 回答