我有这种情况:
使用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方法以正确获取异常
提前致谢。
答案 0 :(得分:0)
我可以看到的一件事是你传递的是Exception
类型,但是你的WCF方法中的签名似乎是MyException
的自定义类型尝试更改你传递的类型或者你输入的类型期待匹配