【发布时间】:2012-09-23 16:51:34
【问题描述】:
这几天我在一个 Web 应用程序中从头开始构建一个新应用程序。
(技术是Asp.Net,我使用的ORM是Entity Framework。如果重要的话)
我不确定广泛使用的模式 session per request 是否真的很好。
在我看来,该模式的优点是缓存不会增加,直到数据库会话崩溃\太大,因此效率低下。
但是每个请求的新会话不是太多了吗?这意味着每次服务器调用都会重置缓存,即使是像自动完成这样简单的 ajax 请求也会有一个全新的缓存,实际上每次按键都会重置缓存。
您在一个请求中查询相同的对象实体行的可能性很小。
Session per session 不是更好的模式吗?两全其美的意思
- 缓存不会永远增长。
- 缓存其实可以用...
那么... 为什么每个请求的会话被如此广泛地使用而每个会话的会话却不是?
说明:
- 当我编写 ORM 会话时,它同时适用于
NHibernate's session和EntityFramework's DbContext。 - 我的意思是在每个请求上刷新 session\dbcontext 的提交保存更改。
【问题讨论】:
标签: c# .net entity-framework nhibernate orm