【问题标题】:RIA Services Server Side Exception HandlingRIA 服务服务器端异常处理
【发布时间】:2009-12-13 17:58:00
【问题描述】:

我正在尝试找到一种方法来处理服务器端未处理的异常。我想在域服务级别控制异常处理,以便在调用任何操作时,我可以记录异常并将其包装在一些漂亮的词中以将其发送给客户端。 我为 WCF 和经典 Web 服务找到了很多方法,但对于 RIA 服务却一无所获。 请提供您的建议。

【问题讨论】:

    标签: .net wcf-ria-services


    【解决方案1】:

    您需要重写此WCF RIA Services Exception Handling 博客条目中描述的DomainService.OnError 方法。我已经在基础 DomainService 类中完成了此操作,而不是在我的应用程序中的每个单独的 DomainService 类中,如下所示。 errorInfo.Error 属性没有设置器,因此我认为您不能将异常对象替换为您自己的,但 <system.web><customErrors mode="On" /> 配置元素可以防止将异常的详细信息暴露给客户。

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

    【讨论】:

      【解决方案2】:

      您可以查找特定的错误,然后抛出与标准 DomainOperationException 不同的 DomainException。 DomainException 中有一个 ErrorCode,可以在客户端上使用它来指定将在客户端上以不同方式处理的条件。

      请参阅 Kyle McClellan 在http://forums.silverlight.net/forums/t/193028.aspx 的回复。 对于这类问题,Kyle 的博客也是一个很好的资源。

      【讨论】:

        猜你喜欢
        • 2011-08-11
        • 2010-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多