我在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
的新手:如果您能给我示例代码,那将会很有帮助。
答案 0 :(得分:1)
如果我做对了,你正在寻找一种方法来捕捉所有未捕获的异常。然后,您可以按照常规方式记录它们。
This post提供了有关WCF中异常处理的许多提示。其中,它描述了如何通过WCF管道捕获所有未处理的异常。
希望我帮忙!