gpt4 book ai didi

wcf - 在 wcf 中使用 session

转载 作者:行者123 更新时间:2023-12-04 22:02:51 25 4
gpt4 key购买 nike

如果我将我的服务实例设置为 Per Session 或 Single,我可以在 session 中的服务实例之间发送一些数据吗?它应该在 Asp.net session 中完成 - HttpContext.Current.Session或者 wcf 有自己的 session ?

最佳答案

正如我所说 - WCF 不是 ASP.NET,它的 session 处理有很大不同。虽然 ASP.NET session 和 WCF session 的名称相同 - 但它们的目的和用途却大不相同。

阅读 MSDN 页面 Using Sessions in WCF更多细节。

一句话是:没有与 WCF session 关联的通用数据存储。 - 所以答案是否定的 - WCF 中的 session 用于数据存储。

WCF session 仅仅是将几条消息“绑定(bind)”到一个 session 中。默认情况下,使用“每次调用”模型,每个 WCF 服务请求都将获得自己的、新实例化的服务类实例来处理请求,并且该服务类实例将在返回答案后被释放。使用 session 可以避免这种情况 - 处理 session 第一次调用的服务类实例将在服务器端保持事件状态(因此也会占用服务器上的内存)并将处理同一 session 中的所有后续请求。

WCF 和 Web 服务通常最好是无状态,因此 session 在适当的 SOA 环境中有点古怪的架构 - 这很可能就是为什么 WCF 中的 session 也不像很有用,因为 ASP.NET session 适用于 Web 应用程序。

为了保持无状态并支持每次调用方法(首选最佳实践),如果您需要在调用之间存储数据,请将其存储在持久存储(例如数据库)中,并在以后需要时从那里取回.

关于wcf - 在 wcf 中使用 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com