.net 使用WCF和DefaultCredentials时如何处理密码更改?

.net 使用WCF和DefaultCredentials时如何处理密码更改?,.net,wcf,security,exception,passwords,.net,Wcf,Security,Exception,Passwords,我有一个客户端,它使用WCF代理调用服务。凭据和其他功能正常工作,但如果用户更改其域密码,我重新启动应用程序,则由于以下错误,我无法调用服务: System.ServiceModel.Security.securityNegotiaiOneException->服务器已拒绝客户端凭据 System.Security.Authentication.InvalidCredentialException->服务器已拒绝客户端凭据 System.componentmodel.Win32Exception

我有一个客户端,它使用WCF代理调用服务。凭据和其他功能正常工作,但如果用户更改其域密码,我重新启动应用程序,则由于以下错误,我无法调用服务:

System.ServiceModel.Security.securityNegotiaiOneException
->服务器已拒绝客户端凭据

System.Security.Authentication.InvalidCredentialException
->服务器已拒绝客户端凭据

System.componentmodel.Win32Exception
->登录尝试失败


显然,我知道用户的凭据已更改,但如何刷新
凭据缓存
以反映新凭据,以便WCF调用将成功?

服务将根据AD检查客户端上下文中的令牌。WCF客户端使用用户登录其帐户时收到的现有windows令牌windows帐户。如果更改密码,windows会话仍使用旧凭据运行。您必须登录和退出windows会话才能更新缓存的凭据。

via@Ryblex:“当您重新启动应用程序时,您是指包括应用程序池的WCF服务应用程序吗?”[根据语法编辑]