我有一个 ASP.net 应用程序,它使用我们创建的一些常见业务对象。这些业务对象也用于其他一些 Windows 服务或控制台应用程序。
我遇到的问题是,如果我有一个类“foo”和一个类“bar”并且每个都有一个函数 loadClient(),如果我调用 foo.loadClient() 和 bar.loadClient(),每个请求都会命中数据库。我认为实现某种缓存会减少不必要的数据库往返。
这就是问题所在。我希望缓存特定于 ASP.net 应用程序上的每个 HTTP 请求。也就是说,一个新的请求会获得一个全新的缓存。缓存可以在其他控制台应用程序的生命周期内存在,因为其中 90% 是实用程序。
我知道我可以使用 System.Web.Cache 但我不希望我的中间件绑定到 System.Web 库。
希望能解释一下。谁能指出我正确的方向?谢谢!