在WCF中捕获丢失的响应

时间:2014-01-06 16:10:25

标签: asp.net wcf web-services exception logging

我在WCF应用程序中有一个场景,我需要将请求记录到数据库中,因为我将请求存储在字典中并使用IsFault来检查我的请求是错误,如果它是错误而不是我已将其记录到数据库中

public static string key;
Dictionary<string , string> actionToReplyAction;
String value  = "";
public NLog.Logger _logger = NLog.LogManager.GetCurrentClassLogger();

public void AfterReceiveReply(ref Message reply, object correlationState)        
{
    if (reply.IsFault)
    {
        string requestAction = (string)correlationState;
        _logger.Debug("Request  :::: " + key);
        _logger.Debug("Response :::: " + reply.ToString());
    }
}

public object BeforeSendrequest(ref Message request, IClientChannel channel)
{
    key = request.ToString();

    return null;
}

如果响应丢失,我如何记录请求。我是WCF的新手:如果您能给我示例代码,那将会很有帮助。

1 个答案:

答案 0 :(得分:1)

如果我做对了,你正在寻找一种方法来捕捉所有未捕获的异常。然后,您可以按照常规方式记录它们。

This post提供了有关WCF中异常处理的许多提示。其中,它描述了如何通过WCF管道捕获所有未处理的异常。

希望我帮忙!