这几天我在一个 Web 应用程序中从头开始构建一个新应用程序。
(技术是Asp.Net
,我使用的 ORM 是Entity Framework
。如果重要的话)
我不确定每个请求广泛使用的模式会话是否真的很好。
正如我所看到的,该模式的优点是缓存不会增加,直到数据库会话崩溃\太大,因此效率低下。
但是每个请求的新会话不是太多了吗?这意味着每次服务器调用都会重置缓存,即使是像自动完成这样的简单 ajax 请求也会有一个全新的缓存,实际上每次按键都会重置缓存。
您在一个请求中查询相同的对象实体行的机会很小。
每个会话的会话不是更好的模式吗?兼具优势意义
- 缓存不会永远增长。
- 缓存其实可以用...
那么......为什么每个请求的会话被如此广泛地使用而每个会话的会话却不是?
说明:
- 当我编写 ORM 会话时,它同时适用于
NHibernate's session
和EntityFramework's DbContext
. - 我的意思是在每个请求上刷新 session\dbcontext 的提交保存更改。