gpt4 book ai didi

c# - 在客户端检查 WCF 调用的 HttpWebRequest?

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:16 25 4
gpt4 key购买 nike

我正在使用 WCF 客户端代理来调用 Web 服务。我正在使用 IClientMessageInspector 向每个请求添加日志记录。我想从底层 HTTP 消息中获取信息,发现我可以通过以下方式获取它:

public class WCFLoggingInspector : IClientMessageInspector
{
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var httpRequest = (HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name];
var method = httpRequest.Method;
return null;
}
}

在调试器中逐步执行时,这工作正常。但是,正常运行时,属性索引器出现错误:“名称为‘httpRequest’的属性不存在”

任何人都可以解释这里发生了什么,或者获取 HttpRequest 的替代方法吗? (我也在为 AfterReceiveReply 做同样的事情)

最佳答案

似乎 Visual Studio 在附加调试器时创建了它。

if (!properties.ContainsKey(HttpRequestMessageProperty.Name))
properties.Add("httpRequest", new HttpRequestMessageProperty());

来源:Property httpRequest' not present

关于c# - 在客户端检查 WCF 调用的 HttpWebRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com