Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 截获WCF客户端中的消息_C#_Wcf_Soap_Wcf Client - Fatal编程技术网

C# 截获WCF客户端中的消息

C# 截获WCF客户端中的消息,c#,wcf,soap,wcf-client,C#,Wcf,Soap,Wcf Client,有人有过Web服务扩展的经验吗?我花时间尝试从MS示例中进行web服务扩展 我有一个.NET3.5Web服务客户端,通过VSIDE“项目>添加服务引用”添加对WSDL的引用来构建。这构建了我的web服务客户端,一切正常 我需要截取web服务客户端的请求和响应主体。我已经找到了很多关于Web服务扩展的引用,但我有一种疲劳的攻击,就是无法启动我的扩展 我在这里使用了MS示例“如何实现SOAP扩展”(),它为请求/响应流构建了一个记录器 相关的MS文章“Soap消息修改”()展示了如何为web客户端启

有人有过Web服务扩展的经验吗?我花时间尝试从MS示例中进行web服务扩展

我有一个.NET3.5Web服务客户端,通过VSIDE“项目>添加服务引用”添加对WSDL的引用来构建。这构建了我的web服务客户端,一切正常

我需要截取web服务客户端的请求和响应主体。我已经找到了很多关于Web服务扩展的引用,但我有一种疲劳的攻击,就是无法启动我的扩展

我在这里使用了MS示例“如何实现SOAP扩展”(),它为请求/响应流构建了一个记录器

相关的MS文章“Soap消息修改”()展示了如何为web客户端启用Soap扩展:

实现SOAP扩展

在客户端或服务器应用程序上运行SOAP扩展有两种方法。首先,您可以配置应用程序以运行扩展。要将SOAP扩展配置为在所有Web服务(尤其是vroot)上运行所有Web方法,请编辑Web.config文件中的
元素部分。下面的代码显示type属性值必须在一行上,并包括扩展的完全限定名,以及已签名程序集的版本、区域性和公钥标记





)

还是没有快乐。然后我从上面的线程复制了代码,但在发出SOAP请求时仍然无法启动扩展


有人能给我指一个运行正常的可下载web服务扩展演示项目吗?这样我就可以分解它并找出我缺少的东西了?

你可能想休息一下

你永远都不想使用WSE。WSE已经过时了

你不想使用ASMX Web服务——微软现在认为它们是“遗留”技术,不会修复bug。顺便说一句,WSE是基于ASMX的,那么它是什么呢


<>你只想和Windows通信基金会一起工作。MSDN上的WCF开发中心位于

玩得开心点,远离那些肮脏、古老、过时的东西。

是的,我太累了

我认为Web服务扩展使用的是“Web引用”(.NET2),而不是“服务引用”(.NET3)


所以我想改变我的问题-如何拦截连接到遗留web服务的.NET3“服务引用”的请求和响应

John是对的,您可以使用实现IClientMessageInspector的自定义客户端行为截获客户端上的消息。请参阅MSDN上的


唯一“棘手”的是,如果您计划修改消息正文,则需要首先创建原始消息的副本。有关粘性的详细信息,请参阅。

我希望我可以使用wcf。。。这是我正在连接的一个遗留(非.net)web服务,它使用自定义加密方案。这就是我试图构建web服务扩展的原因。