【发布时间】:2009-05-19 00:59:35
【问题描述】:
我在通过使用 Basic 身份验证和 WSHttpBinding 的身份验证代理时遇到问题。
BasicHttpBinding 的类似代码有效。我猜我的问题与我无法将 WSHttpBinding 的安全模式设置为 TransportCredentialOnly..
由于依赖于 MTOM,我无法使用 BasicHttpBinding。
binding.ProxyAddress = new Uri("http://192.168.20.231:8080");
binding.BypassProxyOnLocal = true;
binding.UseDefaultWebProxy = false;
WSHttpSecurity security = binding.Security;
//security.Mode = SecurityMode.TransportCredentialOnly; //This option only exist for BasichHttpBinding
security.Mode = SecurityMode.Transport; // Not sure what to set here
//security.Mode = SecurityMode.TransportWithMessageCredential;
security.Transport.ProxyCredentialType = HttpProxyCredentialType.Basic;
security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
var client = new SyncWcfMTOMServiceClient(binding, new EndpointAddress("http://server/service.svc"));
client.ClientCredentials.UserName.UserName = "user";
client.ClientCredentials.UserName.Password = "pass";
bool running = client.IsServiceRunning();
【问题讨论】:
标签: .net web-services