使用elmah

时间:2016-07-27 08:53:25

标签: c# json wcf logging elmah

我有一个WCF服务来处理来自运行c的微控制器的请求。大部分时间都很顺利,如果出现问题,我已设置elmah来记录WCF服务中发生的错误。当WCF服务内部发生错误(ex数据库错误)时,这很好,但是当WCF服务接收到无效的数据json时,错误日志不是很有用。我得到像

这样的错误
  

System.FormatException。   遇到无效字符''。

  

System.Xml.XmlException   遇到意外的角色'。'。

这让我知道出了什么问题,但我希望看到原始的json知道消息是什么样的,所以我可以修复微控制器中的错误。这可能吗?

服务的界面如下所示:

    [ServiceContract]
public interface IDevCom
{
    [OperationContract, WebInvoke(ResponseFormat = WebMessageFormat.Json,
    RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
    ConnectResult Connect(ConnectParameter parameter);
}

当前错误处理程序看起来像

    public class HttpErrorHandler : IErrorHandler
{
    public bool HandleError(Exception error)
    {
        try
        {
            ExceptionUtility.LogException( error, nameof(HttpErrorHandler));
        }
        finally
        {
        }
        return true;
    }

    public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
    {
        if (error != null) //Notify ELMAH of the exception
        {
            if (System.Web.HttpContext.Current == null)
                return;
            Elmah.ErrorSignal.FromCurrentContext().Raise(error);
        }
    }
}

0 个答案:

没有答案