我正在开发一个 MVC3 应用程序,但遇到了对象被无意缓存的问题。我的代码是通过调用一个单独的自定义业务逻辑 dll 创建对象。此业务逻辑 dll 从数据库中获取数据。更改数据库中的数据后,即使关闭浏览器并重新运行应用程序,我仍然看到旧数据。这不是浏览器缓存问题,因为我在开发环境中调试时可以看到它。
在开发中,如果我停止 asp.net 开发服务器,然后重新运行应用程序,我会得到新数据。在 IIS 中,如果我重新启动网站,我会得到新数据。
知道为什么 asp.net 会缓存和重用这些对象,即使它们超出了范围?
业务逻辑 dll 确实内置了一些缓存,所以这可能是主要问题。在这种情况下,我想问题是是否有某种方法可以告诉 asp.net 在会话结束后清除对象。