1

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

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

4

2 回答 2

2

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

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

于 2013-01-28T16:19:44.103 回答
0

我不知道您如何实现对象/连接池,但如果您遵循对象池模式,您可以简单地应用单例模式并在 global.asax 的 Application_Start 中执行一些初始化代码(早期加载)。

于 2013-01-28T16:34:24.707 回答