RIA Services服务器端异常处理 [英] RIA Services Server Side Exception Handling

查看:167
本文介绍了RIA Services服务器端异常处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找出一种方法来处理未处理的在服务器端异常。我希望能够控制异常处理的域名服务水平,这样,当任何操作被称为然后我可以登录例外,敷在一些漂亮的话将它发送给客户端。 我发现许多方面WCF和经典的Web服务,但没有为RIA服务。 请提供您的建议。

I am trying to find out a way to handle unhandled exceptions at server side. I want control over exception handling at Domain Service level so that when any operation is called then I can log the exception and wrap it in some beautiful words to send it to the client. I found many ways for WCF and classic web services but nothing for RIA services. Please provide your suggestions.

推荐答案

您需要重写 DomainService.OnError 方法,在此<一个描述href="http://weblogs.asp.net/fredriknormen/archive/2009/12/08/wcf-ria-services-exception-handling.aspx">WCF RIA服务异常处理博客条目。我在一个基地的DomainService类在我的应用做到了这一点,而不是在每一个人的DomainService类,如下图所示。在 errorInfo.Error 属性没有二传手,所以我不认为你可以用自己的替换异常对象,但&LT;的System.Web&GT;&LT;的customErrors模式=开/&GT; 配置元素可以prevent异常的细节暴露给客户端

You need to override the DomainService.OnError method as described in this WCF RIA Services Exception Handling blog entry. I've done this in a base DomainService class rather than in each individual DomainService class in my application as shown below. The errorInfo.Error property does not have a setter so I don't think you can replace the exception object with your own, but the <system.web><customErrors mode="On" /> config element can prevent the details of the exception being exposed to the client.

[EnableClientAccess()]
public class DomainServiceBase : DomainService
{
    protected override void OnError(DomainServiceErrorInfo errorInfo)
    {
        Logger.WriteException(errorInfo.Error);
        base.OnError(errorInfo);
    }
}

这篇关于RIA Services服务器端异常处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆