我有一个Web应用程序,它调用WCF服务来获取一个对象。 回帖后我要求对象。 我正在使用session来存储该对象以供以后使用。 会话的使用伴随着相关的成本。 我有另一个选择是再次调用服务来获取对象。 我不确定这样做的好方法是什么? 有人对此有任何想法吗?
答案 0 :(得分:2)
我反对使用与WCF的会话。会话往往会带来一系列问题,而这些问题与每个呼叫机制无关:会话可以中止(网络关闭),如果你在一段时间内没有做任何事情,会话就会超时等等 - 以及你必须做好准备,能够以某种方式处理所有这些场景。
一开始,Sessions似乎是一个非常好的主意 - 但是它们往往会变得混乱和麻烦。如果可能,尽量避免会话 - WCF中的每个呼叫机制可能是推荐的最佳做法,除非你真的真的必须有会话(如安全或可靠的会话等)。 / p>
将持久对象存储在旨在实现此目的的商店(如SQL Server)中是更好,最终更容易的选择。是的,您可能不得不偶尔再次请求该对象 - 那又怎样?最终,与开发时间和处理特殊情况相关的所有会话“混乱”相比,那几毫秒的伤害要少得多。
马克
答案 1 :(得分:1)
是的,您应该使用会话,这比发出http请求要快得多