我目前正以这种方式使用用户名和密码登录:
var client = new ServiceReference.CalcServiceClient();
client.ClientCredentials.UserName.UserName = "test";
client.ClientCredentials.UserName.Password = "test";
client.DoWork();
这很好用。现在,我想添加一种注销方式(用户按下按钮,应该以某种方式发送注销请求)。
这可能吗?如果可行,实现这个的最佳方法是什么?
答案 0 :(得分:5)
如果WCF配置了PerSession,client.Close();
将完成工作。
过程将是:
关闭后,您将触发清理垃圾收集器。
如果WCF配置了PerCall,则无需担心Close / Logof。我建议总是执行一个明确的Close(和一个使用),但在这种情况下它并不是必需的。
如果WCF配置了SingleInstance ......好吧,也许你做错了:)无论如何,你应该继续关闭()。