我是 WCF 的新手,正在尝试在 session 管理方面完成一些事情:
我想在打开/创建新 session 时在服务器上获取一个事件。
我希望能够关闭所有打开的 session ,或者获取打开的 session 列表并关闭特定 session (当然,在服务器上)。
我该怎么做呢?谷歌出奇地没有帮助......
最佳答案
答案将是很多“视情况而定”。一些绑定(bind)不是 session 感知的。例如 BasicHttpBinding 之类的东西不会自己进行 session ,但是如果您启用 ASP.net compatability mode您可以让 ASP.net 的 session 管理工作。然后,您将能够使用 global.asax 中的 Session_Start 和 Session_End 在 session 打开或关闭时执行您想要的操作。
您应该查看您正在使用的绑定(bind),看看它是否内置了某种 session 支持,因为其中一些支持。
如果您正在进行身份验证,您还可以通过将请求映射到经过身份验证的用户并将 session 记录存储在数据库中来模仿 session 管理系统。
我要说的是,无论如何我都不确定“结束” session 会给您带来什么。除非您还以某种方式将用户锁定在外,否则如果前一个请求结束,下一个请求将立即开始一个新 session 。也许如果您解释您想要完成的目标(以及为什么),我们可以提供进一步的帮助。
关于c# - WCF session 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4997846/