我有一个 WCF 通道工厂,它的端点已针对 WCF 服务调用进行了修改。我想要的是在通常是直截了当的不同上下文中完成服务调用。但是它对我不起作用。我可以成功地将凭据添加到端点行为、检查它们并查看它们,但调用不是使用“NewUser”凭据进行的。
internal static void UpdateChannelClientBehavior(ChannelFactory factory)
{
factory.Endpoint.Behaviors.Remove<ClientCredentials>();
//MyCustomCredentials is a custom class class variable that inherits System.ServiceModel.Description.ClientCredentials
MyCustomCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
MyCustomCredentials.Windows.ClientCredential = new NetworkCredential("NewUser", "password", "MyDomain");
factory.Endpoint.Behaviors.Add(MyCustomCredentials);
return;
}
因此,在此代码之后,端点确实具有新的 Windows 凭据,但服务器端仍然在默认上下文下调用它,而不是使用“NewUsers”凭据。我做错了什么来完成这项工作?
谢谢!