C# 带有TransferMode=Streamed的WCF REST客户端-记录整个(“原始”)http请求/响应
这是在.NET4上,完整的框架 我正在尝试制作一个简单的winforms应用程序,它将进行一些简单的WCF REST调用。它使用ChannelFactory和服务合同接口。在接口中的20种方法中,有2种涉及流(上传和下载方法),因此服务端(目前也是客户端)使用TransferMode=Streamed 我的目标是在winforms应用程序的文本框中包含完整的HTTP请求和响应(就像您在ethereal/wireshark或fiddler中看到的那样),并带有标题(只是为了显示通过网络传输的内容) 在尝试使用内置诊断(通过SvcConfigEditor)和我自己的(通过实现IClientMessageInspector,然后通过IEndpointBehavior添加检查器,然后通过channelFactory.Endpoint.Behaviors.add添加行为:)时,我遇到了两个问题:C# 带有TransferMode=Streamed的WCF REST客户端-记录整个(“原始”)http请求/响应,c#,.net,wcf,rest,http-headers,C#,.net,Wcf,Rest,Http Headers,这是在.NET4上,完整的框架 我正在尝试制作一个简单的winforms应用程序,它将进行一些简单的WCF REST调用。它使用ChannelFactory和服务合同接口。在接口中的20种方法中,有2种涉及流(上传和下载方法),因此服务端(目前也是客户端)使用TransferMode=Streamed 我的目标是在winforms应用程序的文本框中包含完整的HTTP请求和响应(就像您在ethereal/wireshark或fiddler中看到的那样),并带有标题(只是为了显示通过网络传输的内容)
谢谢 我现在找不到任何引用,但众所周知,您无法将流式消息的内容捕获到WCF跟踪。启用流式传输时,仅跟踪消息的标题 以下是来源:关于MSDN 请参见本页末尾: 服务水平 在此层记录的消息是 即将进入(接收时)或离开 (发送时)用户代码。中频滤波器 已定义,只有 匹配已记录的过滤器。 否则,服务中的所有消息 记录液位。基础设施 消息(事务、对等通道、, 和安全性)也记录在该位置 级别,但可靠的消息传递除外 信息仅适用于流式消息 将记录标题。此外, 安全消息被记录并解密 在这个层次上
我现在找不到任何引用,但众所周知,您无法将流式消息的内容捕获到WCF跟踪。启用流式传输时,仅跟踪消息的标题 以下是来源:关于MSDN 请参见本页末尾: 服务水平 在此层记录的消息是 即将进入(接收时)或离开 (发送时)用户代码。中频滤波器 已定义,只有 匹配已记录的过滤器。 否则,服务中的所有消息 记录液位。基础设施 消息(事务、对等通道、, 和安全性)也记录在该位置 级别,但可靠的消息传递除外 信息仅适用于流式消息 将记录标题。此外, 安全消息被记录并解密 在这个层次上
是的,现有的跟踪不会记录流式消息(至少在WCF服务和传输层,我想知道是否有较低级别的跟踪可以做到这一点?),这就是为什么我认为我最终必须“定制”这样做的原因,由于IClientMessageInspector是我现在尝试的:)这是客户端配置中缓冲的所有内容的一个优点,然后分别(以编程方式)进行上传和下载StreamdRequest和StreamdResponse,但是如果可能的话,我正在尝试做一些不需要更改现有配置/代码的事情:)您找到了这样做的方法吗?是的,现有跟踪不会记录流式消息(至少在WCF服务和传输层,我想知道是否有较低级别的跟踪可以做到这一点?)这就是为什么我认为我最终必须“定制”,而IClientMessageInspector正是我现在尝试的:)这是客户端配置中缓冲的所有内容的优势,然后分别(以编程方式)进行上传和下载StreamdRequest和StreamdResponse,但是我正在尝试做一些不需要更改现有配置/代码的东西(如果可能的话):)你找到了这样做的方法吗?