我有一个Web应用程序调用WCF服务来获取对象。 回帖后请求对象。 我正在使用会话来存储对象以备后用。 会话的使用伴随着相关的成本。 我的另一个选择是再次调用服务来获取对象。 我不确定这样做的好方法是什么? 任何人有任何想法呢?会话vs致电网络服务
回答
我会反对使用会话使用WCF快得多。会话往往会带来一系列问题,而这些问题对于每个呼叫机制都没有:会话可以中止(网络关闭),如果您在一段时间内不做任何事情,会话可能会超时 - 以及你必须做好准备,并能够以这种或那种方式处理所有这些场景。
会议似乎是一个非常好的主意 - 但他们往往会变得混乱和繁琐以后。如果可能的话,尽量避免会话--WCF中的每个呼叫机制可能是推荐的最佳实践,除非你真的需要有会话(如安全或可靠的会话等)。
让你的持久对象存储在一个专门用来做这件事的商店里(比如SQL Server)是更好的选择,并且最终更容易。是的,您可能需要偶尔再次请求对象 - 那又如何?最后,那几个毫秒gonig伤害少了很多,相比于具有处理所有会话中的开发时间和处理特殊情况下,术语“混乱” ......
马克
是的,你应该使用会话,这比让一个http请求
的选择给予,会话更好 - 但关键是,你几乎肯定不想重新发出http请求,我建议你是否使用会话或其他机制(例如缓存)来坚持对象是一个主题进一步讨论。 – Murph 2009-09-08 10:49:14
是的,如果他正在使用状态服务器或sql server进行会话,那么它将不得不再次对该对象进行序列化,这会花费时间。另外,当您存储会话应用程序回收时会导致会话消失。缓存存在于appdomain之外。 – 2009-09-08 11:09:08
- 1. 确定致电网络服务的服务器
- 2. Asp.net vs任何网络服务?
- 3. ASP.NET页面方法vs网络服务
- 4. 页面方法vs网络服务
- 5. 电话将不会连接到同一个WiFi网络上的瓶服务器
- 6. 多进程网络服务器vs多线程网络服务器?
- 7. PHP网络会话
- 8. AspNetCompatibilityRequirements导致WCF网络服务阻止
- 9. 在窗口电话中访问网络服务8
- 10. Tapi和VOIP电话网络
- 11. propiearatory网络服务器中的会话管理
- 12. 在ASP.NET网络农场中使用状态服务器会话
- 13. 我的网络服务器拒绝设置会话或cookie
- 14. 将会话ID从Android应用发送到Jersey网络服务
- 15. 网络服务
- 16. Node.js - 如何在http服务器和网络服务器之间共享会话?
- 17. 致电security.authorization_checker服务
- 18. 枚举网络会话
- 19. 保留网络会话
- 20. Web服务电话
- 21. PHP:FedEx网络服务
- 22. RDBMS网络服务
- 23. .net网络服务
- 24. Android网络服务
- 25. Restful网络服务
- 26. 网络服务器虚拟网络
- 27. 无法通过网络服务器使用网络服务
- 28. 如何初始化网络服务的网络服务接收
- 29. 从服务提供商(电信网络)弹出消息导致暂停活动
- 30. VS团队系统2008网络测试 - 网络服务器需要域凭据
+1。 Yeap-我同意。 – RichardOD 2009-09-12 13:09:12