相关疑难解决方法(0)

如何使用Fiddler监视WCF服务

我有一个接受复杂类型的WCF服务并返回一些数据.我想使用Fiddler来查看对服务的传入请求是什么样的.客户端是.net控制台应用程序,它使用服务引用代理.这与Fiddler有关吗?我是这个工具的新手,并且过去只使用它来使用请求构建器发布数据.

wcf fiddler

104
推荐指数
4
解决办法
10万
查看次数

如何将代理凭据设置为特定的wcf客户端?

我需要连接到一些公共wcf服务,但我和服务之间有一些代理.如果我使用默认代理设置,如

<system.net>
  <defaultProxy useDefaultCredentials="true" />
</system.net>
Run Code Online (Sandbox Code Playgroud)

要么

HttpWebRequest.DefaultWebProxy
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我不需要为整个应用程序设置代理设置,我需要为特定连接设置它.那我该怎么做呢?

我看到了ProxyAddress属性

(client.Endpoint.Binding as BasicHttpBinding).ProxyAddress
Run Code Online (Sandbox Code Playgroud)

但是凭证没有任何属性......我想以某种方式修改HttpWebRequest,但我不知道怎么弄它...

解决了

谢谢大家的答案.

AntonK的答案适合解决我的问题.

在这个问题是实际的时候,我以同样的方式解决了它,但没有使用web.config并编写了这个方法

void SetProxySettings<TChannel>(ClientBase<TChannel> client, 
    bool useProxy, string address, int port, string login, string password) 
    where TChannel : class
{
    if (!useProxy) return;
    var b = client.Endpoint.Binding as BasicHttpBinding;
    if (b == null)
    {
        System.Diagnostics.Debug.WriteLine("Binding of this endpoint is not BasicHttpBinding");
        return;
    }
    b.ProxyAddress = new Uri(string.Format("http://{0}:{1}", address, port));
    b.UseDefaultWebProxy = false; // !!!
    b.Security.Mode = BasicHttpSecurityMode.Transport;
    b.Security.Transport.ClientCredentialType = HttpClientCredentialType.None; // !!!
    b.Security.Transport.ProxyCredentialType = …
Run Code Online (Sandbox Code Playgroud)

c# wcf proxy

18
推荐指数
1
解决办法
2万
查看次数

如何使用凭据设置代理以生成WCF客户端?

如果客户使用具有凭据的代理,我将无法连接到我的WCF服务.我无法找到将凭据设置为生成客户端代理的方法.

如果我使用Web服务,则可以设置代理.

wcf

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

wcf ×3

c# ×1

fiddler ×1

proxy ×1