相关疑难解决方法(0)

如何在WCF客户端服务代理上设置HTTP代理(WebProxy)?

如何在不使用默认代理的情况下在WCF客户端上以编程方式设置HTTP代理?

代理,代理,代理.

根据WCF开发模型,我通过在服务的WSDL上运行svcutil.exe来生成客户端"代理"类.(这也会产生客户端配置文件).

在我的代码中,我新建了该类的一个实例,我可以连接到该服务.非常好.

var svcProxy = new MyWebService();
svcProxy.GetInformation(request); 
Run Code Online (Sandbox Code Playgroud)

我们将此事称为代理类,但还有另一个代理 - http代理.这个服务使用wsHttpBinding basicHttpBinding,所以它通过http.现在,假设我想通过http代理将客户端连接到Web服务(由.NET BCL中的System.Net.WebProxy建模).我从阅读.NET和WCF文档的丰富,愉快的经验中了解到,如果没有另外指示,WCF运行时将通过http/https进行通信时使用默认系统代理.

我可以使用此处所述的ProxyCfg.exe从WinXP/2003中的命令行进行设置,也可以使用此处所述的netsh.exe在更高版本的Windows中进行设置.

我还可以通过设置System.Net.WebRequest.DefaultWebProxy属性来指定在应用程序中使用的默认Web代理.

但是假设我想通过与系统范围代理不同的代理连接?例如,可能没有系统范围的代理,但我需要特别使用一个用于Web服务.或者可能有一个系统范围的代理,但我需要使用另一个代理,用于Web服务.事实上,可能有多个Web服务客户端,每个客户端应该有一个不同的代理.

如何为每个绑定设置代理?

在ASMX模型中,我可以这样做:

var svcProxy = new MyWebService();
svcProxy.Proxy = new System.Net.WebProxy("http://proxyserver:1234", true);
svcProxy.GetInformation(request); 
Run Code Online (Sandbox Code Playgroud)

但是WCF不可能做到这一点; WCF生成的客户端代理类不公开Proxy属性.如何为每个客户端代理设置http代理,以及如何在http代理上设置身份验证?

相关:
- 如何设置代理与凭证到生成的wcf-client

wcf proxy http webproxy

47
推荐指数
3
解决办法
8万
查看次数

如何使用Fiddler调试来自任何应用程序的流量(例如C#/ WPF应用程序)

我想在这里调试来自另一个问题的 HTTP请求的错误.所以我读了一下Fiddler,想用它来调试我的问题.但我似乎无法通过我的WPF应用程序获得通过Fiddler的流量.我相信我需要配置一个代理.我使用WebClient作为基本示例,但我想我稍后会需要WebRequest.但是现在,通过一个简单的WebClient,我怎样才能让它通过Fiddler(我相信我必须将代理设置为localhost:8888)?

更新:

我不知道我是否做对了,但我试过了

var wc = new WebClient();
WebProxy proxy = new WebProxy();
proxy.Address = new Uri("http://localhost:8888");
wc.Proxy = proxy;
Run Code Online (Sandbox Code Playgroud)

但失败了 - 我在Fiddler看不到任何交通

我试过了 ...

var wc = new WebClient();
WebProxy proxy = new WebProxy("127.0.0.1", 8888);
wc.Proxy = proxy;
Run Code Online (Sandbox Code Playgroud)

依然没有

c# wpf webclient httpwebrequest fiddler

38
推荐指数
3
解决办法
6万
查看次数

WCF - 检查发送/接收的消息?

我有2个解决方案: - 服务器解决方案 - 客户解决方案

服务器将自己注册到我的localhost IIS:http:// localhost/MyApp /

客户端从localhost应用程序添加WCF服务(服务引用):http://localhost/MyApp/MyService.svc

当我运行客户端时,我希望能够看到来回传递的消息.我下载了Fiddler,但除非我实际使用网络浏览器,否则它似乎不想向我显示任何流量.我使用Fiddler是错误还是我应该使用另一种工具?


为了澄清,我想要做的是看到传入的实际消息.我不想对它们做任何事情,除了用自己的眼睛直观地看待它们.

我喜欢WCF服务日志工具,但我认为我没有正确的设置.我看不到实际的肥皂消息,只是收到了消息.

而且为了进一步澄清,我不关心我使用什么工具,只要我可以轻松地看到消息本身.

wcf soap client-server fiddler

38
推荐指数
3
解决办法
6万
查看次数

Fiddler没有捕获WCF流量但捕获ASMX很好

我一直在使用Fiddler为一些调用其他ASMX服务的ASMX服务捕获流量.在这种情况下,我有一个简单的WCF服务调用那些ASMX服务.它不会捕获任何流量.唯一的缺点是它使用IIS而不是IISExpress (http://localhost/Interface12Service/Interface12Service.svc).如何捕获WCF流量?

wcf fiddler

0
推荐指数
1
解决办法
3338
查看次数

标签 统计

fiddler ×3

wcf ×3

c# ×1

client-server ×1

http ×1

httpwebrequest ×1

proxy ×1

soap ×1

webclient ×1

webproxy ×1

wpf ×1