如何在c#中捕获500内部服务器错误

时间:2010-10-19 11:04:59

标签: c# asp.net asp.net-mvc exception

我正在使用

提供的Google Analytics控制台控制台
http://gadashboardcontrols.codeplex.com/

问题是当我连接到互联网时工作正常,但如果我在没有互联网访问权限的机器上使用它,那么它显示

Server Error in '/' Application.
The remote name could not be resolved: 'www.google.com' 

我想捕获此异常并向用户显示友好消息。我在像这样的iframe中的View上调用这些仪表板控件

<iframe src="../../GoogleAnalytics/Visitor.aspx" height="275"></iframe>

如果我在Visitor.aspx页面中放置try catch,它就不会捕获异常。我应该如何捕获此异常,我使用asp.net mvc 2和c#

3 个答案:

答案 0 :(得分:1)

您无法捕获此异常,因为问题发生在浏览器中而不是服务器上。你无法通过aspx代码控制它。

答案 1 :(得分:0)

如果用户处于离线状态,您可以执行的操作是检查网络连接并在页面中提供备用内容。调查 System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()为此。

没有好方法可以捕获此异常,因为您正在使用iframe并且页面是在浏览器中加载而不是通过代码加载的。这有一些技巧,但不太可靠。

答案 2 :(得分:0)

错误是服务器端的,所以应该尝试在代码中修复它。