如果我将servis实例设置为Per Session或Single,我可以在会话中的服务实例之间发送一些数据?它应该在Asp.net会话中完成 - HttpContext.Current.Session 或wcf有自己的会话吗?在wcf中使用会话
回答
正如我所说 - WCF不是ASP.NET,它的会话处理有很大的不同。虽然ASP.NET会话和WCF会话被称为相同 - 它们的用途和用处大不相同。
阅读MSDN页面Using Sessions in WCF了解更多详情。
一句话如下:没有与WCF会话关联的通用数据存储。 - 所以答案是否定的 - WCF中的会话是用于数据存储的而不是。
WCF会话仅仅是将几个消息“捆绑”在一个对话中。默认情况下,通过“per-call”模型,每个WCF服务请求都会得到自己的,新实例化的服务类实例来处理请求,并且在返回答案后,该服务类实例将被释放。使用会话避免了这一点 - 处理会话第一次调用的服务类实例将在服务器端保持活动状态(并因此也占用服务器上的内存),并将处理同一会话中的所有后续请求。一般
WCF和Web服务但是最好是无国籍,这样的会议是有点在一个合适的SOA环境中一个古怪的建筑 - 这是最有可能的,为什么在WCF会议也远远不及ASP有用。 NET会话用于Web应用程序。
为了保持无状态并支持每个调用方法(首选最佳实践),如果您需要在调用之间存储数据,请将其存储在持久存储区(例如数据库)中,并在需要时从该存储区取回上。
如果您在IIS中托管服务,则可以启用ASP.Net兼容性模式。这将允许您使用ASP.Net会话状态,就像在Web应用程序中一样。
如何启用ASP.Net兼容性模式? –
- 1. 如何在WCF中使用ASP.NET会话?
- 2. WCF服务中的会话使用
- 3. 在WCF中使用ASP.NET会话=每次调用都会丢失
- 4. 使用会话使用WCF WS2007FederationHttpBinding(WSFederationHttpBinding)
- 5. WCF会话 - ASP.Net会话
- 6. 使用WCF会话共享ASP.NET会话状态
- 7. WCF绑定-wsHttpBinding使用会话?
- 8. 如何在WCF中使用SSL启用会话wsHttpBinding
- 9. 调用在wcf中使用会话状态的Web服务
- 10. 会话创建在WCF
- 11. WCF会话超时
- 12. WCF会话管理
- 13. WCF会话维护
- 14. 会话在每个WCF呼叫方案的会话中关闭
- 15. nHibernate会话 - 在Web,windows,wcf等中使用存储库模式
- 16. 会话如何在WCF中维护?
- 17. 在类中使用会话
- 18. 在c#中使用会话#
- 19. 在Django中使用会话
- 20. 在PHP中使用会话
- 21. 在asp.net中使用会话
- 22. 如何使WCF会话更安全?
- 23. 使用简单Web服务(不是WCF)在Silverlight中使用会话
- 24. 如何在WCF中禁用netNamedPipeBinding中的可靠会话?
- 25. WCF可靠会话超时
- 26. WCF轮询双工会话
- 27. wcf和会话asmx重写
- 28. 从aspx访问WCF会话
- 29. WCF,REST,并发性,会话
- 30. WCF和ASP.NET会话共享
oK,据我所知,但我可以使用Wcf会话像asp一样并将数据保存在其中吗? – netmajor