在哪里可以在WCF客户端中指定代理凭据?

时间:2009-12-04 08:53:18

标签: wcf proxy credentials

我使用频道工厂创建了一个WCF客户端。 但我无法连接到另一台机器上的服务器。我得到了(407)Prxy Authentication Required异常。

WSHttpBinding wsBinding = new WSHttpBinding();
        wsBinding.BypassProxyOnLocal = true;

        EndpointAddress endpoint =
          new EndpointAddress("http://machineName:7676/MyWCFService");
        ChannelFactory<IService> sericeInterface =
            new ChannelFactory<IService>(wsBinding, endpoint);

        sericeInterface.Credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
        sericeInterface = sericeInterface.CreateChannel();

这是我的客户端连接代码nippet。我在调用服务方法时遇到异常。

1 个答案:

答案 0 :(得分:1)

看看这个CodePlex链接,尝试找到与您的情景紧密匹配的方案。它提供了有关如何为不同情况/绑定设置各种凭据的清单和示例。

MSDN link可能对Windows身份验证有所帮助,您似乎正在使用它。

要分配凭据,您需要从MSDN链接中获取以下内容:

CalculatorClient cc = new 
    CalculatorClient("WSHttpBinding_ICalculator");
// This code returns the WindowsClientCredential type.            
cc.ClientCredentials.Windows.ClientCredential.UserName = GetUserName();
cc.ClientCredentials.Windows.ClientCredential.Password = GetPassword();