如何在ASP.NET中处理WCF异常

时间:2009-11-23 09:41:41

标签: asp.net wcf exception error-handling

我正在研究制作WCF服务调用的传统ASP.NET应用程序。

我是否应该在WCF调用周围进行try catch并在当前页面的顶部显示错误详细信息;让错误将用户重定向到自定义错误页面;或者把它留在IIS / .NET框架中?

哪种方法最不可能混淆未来的开发人员?

3 个答案:

答案 0 :(得分:3)

永远不要死黄的屏幕。有关错误的详细信息可以提示黑客破坏您的网站。

如果在没有服务请求的情况下无法显示页面,则会重定向到自定义错误页面。

如果页面上只有一小部分信息丢失,而这些信息对其功能不起作用,那么最好向用户显示一条友好的消息,表示此特定信息暂时不可用。

答案 1 :(得分:2)

这取决于您的应用要求。如果Web服务调用失败,您可以继续处理吗?如果不是,您可能应该记录异常并将用户重定向到500页。我会在global.asax中使用Application_Error方法来执行此操作。如果您可以继续处理,那么您应该在Web服务调用周围放置一个try / catch并处理相应的FaultException。你永远不应该让客户看到生产中的黄色屏幕。

答案 2 :(得分:1)

如果您希望WCF调用可以抛出异常,并且您知道可以获得哪些异常类型,那么是的,您应该捕获异常并执行相应的操作。通常,最好告诉用户错误导致操作失败,并记录异常详细信息以供您或技术支持人员进一步检查。