我正在研究制作WCF服务调用的传统ASP.NET应用程序。
我是否应该在WCF调用周围进行try catch并在当前页面的顶部显示错误详细信息;让错误将用户重定向到自定义错误页面;或者把它留在IIS / .NET框架中?
哪种方法最不可能混淆未来的开发人员?
答案 0 :(得分:3)
永远不要死黄的屏幕。有关错误的详细信息可以提示黑客破坏您的网站。
如果在没有服务请求的情况下无法显示页面,则会重定向到自定义错误页面。
如果页面上只有一小部分信息丢失,而这些信息对其功能不起作用,那么最好向用户显示一条友好的消息,表示此特定信息暂时不可用。
答案 1 :(得分:2)
这取决于您的应用要求。如果Web服务调用失败,您可以继续处理吗?如果不是,您可能应该记录异常并将用户重定向到500页。我会在global.asax中使用Application_Error
方法来执行此操作。如果您可以继续处理,那么您应该在Web服务调用周围放置一个try / catch并处理相应的FaultException。你永远不应该让客户看到生产中的黄色屏幕。
答案 2 :(得分:1)
如果您希望WCF调用可以抛出异常,并且您知道可以获得哪些异常类型,那么是的,您应该捕获异常并执行相应的操作。通常,最好告诉用户错误导致操作失败,并记录异常详细信息以供您或技术支持人员进一步检查。