【问题标题】:Changing client credentials after WCF channel creation创建 WCF 通道后更改客户端凭据
【发布时间】:2010-11-19 08:06:29
【问题描述】:

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

提前谢谢你。

【问题讨论】:

    标签: wcf authentication credentials channelfactory


    【解决方案1】:

    如果通道已被使用,则凭据为只读且无法更改(如果修改了凭据,则会引发异常)。

    如果通道尚未使用(并且关联通道工厂的状态为已创建或正在打开),那么您可以通过以下方式更新凭据:

    public void UpdateCredentials<T>(ClientBase<T> client, string username, string password)
    {
      client.ClientCredentials.UserName.UserName = username;
      client.ClientCredentials.UserName.Password = password;
    }
    

    但是,根据您的问题,我猜该频道已被使用。在这种情况下,恐怕您必须重新创建频道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      相关资源
      最近更新 更多