【发布时间】:2009-12-11 13:07:53
【问题描述】:
如果管理员登录到我的服务,他可能希望断开满足(或不满足)某些要求的会话,无论是自动的还是手动的。抛出异常似乎是一种简单有效的解决方案,因为所有资源都被释放了。
我可以使用一个本地 bool 字段,如果该字段为真,则会在该用户下次调用任何方法时断开连接,但这似乎不是一个优雅的解决方案。
而且,它不必抛出异常,因为我已经注意到您可以使用 OperationContext.Current.Channel.Close() 或 abort 来禁用对该会话的访问。
在 wcf 中是否有“标准”方式来执行此操作?
【问题讨论】:
-
要考虑的一件事是,即使他们结束了会话,是什么阻止他们立即开始新的网络请求?
-
好吧,在断开连接之前,您可能会收到警告,或者您可能会暂时禁止您的用户名,等等...
标签: c# wcf exception session service