Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在创建WCF通道后更改客户端凭据_Wcf_Authentication_Credentials_Channelfactory - Fatal编程技术网

在创建WCF通道后更改客户端凭据

在创建WCF通道后更改客户端凭据,wcf,authentication,credentials,channelfactory,Wcf,Authentication,Credentials,Channelfactory,我们构建的系统允许用户在创建WCF通道后更改其密码-有没有一种方法可以在不必重新创建通道的情况下更改发送到服务器的凭据 提前感谢。如果频道已被使用,则凭据将被设置为只读,并且无法更改。如果凭据被修改,将引发异常 如果尚未使用通道,并且已创建或打开关联通道工厂的状态,则可以通过以下方式更新凭据: public void UpdateCredentials<T>(ClientBase<T> client, string username, string password) {

我们构建的系统允许用户在创建WCF通道后更改其密码-有没有一种方法可以在不必重新创建通道的情况下更改发送到服务器的凭据


提前感谢。

如果频道已被使用,则凭据将被设置为只读,并且无法更改。如果凭据被修改,将引发异常

如果尚未使用通道,并且已创建或打开关联通道工厂的状态,则可以通过以下方式更新凭据:

public void UpdateCredentials<T>(ClientBase<T> client, string username, string password)
{
  client.ClientCredentials.UserName.UserName = username;
  client.ClientCredentials.UserName.Password = password;
}
然而,从你的问题来看,我猜这个频道已经被使用了。在这种情况下,恐怕你必须重新创建频道