将LINQ缓存到SQL DataContext

时间:2010-07-30 05:35:27

标签: c# linq-to-sql

我们正在为多租户Web应用程序进行一些性能优化。目前,在每个Web请求开始时创建LinqToSql数据上下文。上下文具有Web请求的生命周期,并使用Castle Windsor将其注入到需要它的任何对象的构造函数中。

我们考虑在会话缓存中缓存上下文(以及附加到它的一组对象),最多几分钟,以优化后续Web请求的设置成本。这是好主意吗?需要考虑哪些问题?

1 个答案:

答案 0 :(得分:2)

一个坏主意IMO。最大的问题是并发性。由于连接池,只要您将数据上下文用作数据的管道而不是数据桶本身,成本就不会那么高。

缓存数据;抛弃数据上下文。

尝试保留数据上下文另外不会扩展到多个服务器,也不支持除进程外的任何缓存实现。

您是否测量设置成本,以便您知道这是否值得考虑?我真的不相信这是你的瓶颈。

相关问题