将客户端的异常发送到WCF服务

时间:2015-03-13 21:57:22

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

我有这种情况:

使用WCF服务的MVC应用程序,我试图为MVC应用程序添加日志错误功能。

MVC应用程序无法直接访问数据库,WCF服务可以。

由于MVC应用程序无法访问数据库,因此我需要将异常(无论何时发生)发送到WCF,然后将其保存在数据库中。

在每个控制器的OnException()方法中,我将异常发送到WCF,但它无法获取它。

这是我的控制器代码:

public ActionResult Index()
    {
        string myText = null;
        myText = myText.Substring(0, 2);

        return View();
    }

    protected override void OnException(ExceptionContext filterContext)
    {
        if (!filterContext.ExceptionHandled)
        {
            Exception ex = filterContext.Exception;
            Service1Client wsClient = new Service1Client();
           //I try to send exception to the WCF
            wsClient.SaveExceptionToElmah(ex);

        }
    }

这是我的WCF方法的实现方式:

public void SaveExceptionToElmah(MyException error)
    {
        //this will be managed by Elmah log error feature
        throw error.myEx;
    }

我发现了一些关于在WCF中为我的类添加[knownType(typeof(....))]属性的内容,但它没有用。

如何实现我的WCF方法以正确获取异常

提前致谢。

1 个答案:

答案 0 :(得分:0)

我可以看到的一件事是你传递的是Exception类型,但是你的WCF方法中的签名似乎是MyException的自定义类型尝试更改你传递的类型或者你输入的类型期待匹配