你在哪里把对象池管理器放在ASP.NET MVC中?

时间:2013-01-28 16:11:07

标签: asp.net-mvc

我想在ASP.NET MVC应用程序中维护一个对象/连接池。池的目的是通过重用与第三方Web服务的连接来提高性能。第三方Web服务需要登录调用,该调用返回会话ID - 池会保存这些会话ID。

我的问题是,我在哪里实例化这个对象池,以便它可以在所有请求中使用?它只会被1个控制器使用,但是如果我在控制器中实例化它,我相信即使它是一个单例,也会为每个用户请求实例化一个新的对象池? 将它存储在Application状态是否合理?

2 个答案:

答案 0 :(得分:2)

您所指的对象池有一个名称:它通常称为缓存。

你可以使用ObjectCache类,更具体地说是MemoryCache类,它是它的一个实现。

答案 1 :(得分:0)

我不知道你是如何实现你的对象/连接池的,但如果你遵循Object Pooling Pattern,你可以简单地应用Singleton模式并在global.asax中的Application_Start中做一些初始化代码(早期加载)。 / p>