4

我正在使用 asp.net 中的自定义角色提供程序,并且似乎一旦将提供程序加载到内存中,它就不会退出内存,直到重新启动 Web 应用程序(例如更改和保存 web.config 文件时) )。此外,对该 Web 应用程序的所有请求似乎都使用了角色提供者的一个实例。

所以我的问题是:asp.net 什么时候创建角色提供者的实例?他们的寿命是多少?asp.net 什么时候创建新实例?有没有办法通过删除旧实例并创建一个新实例来强制 asp.net 刷新当前提供程序实例?

4

1 回答 1

2

ASP.NET 的设计假定提供程序是无状态对象。因此,您应该以不需要知道它何时创建和何时终止的方式设计您的提供程序。基本上,如果您真的想这样做,您可以将实际逻辑放在不同的类中,它的创建和处置将由您引入 ASP.NET 的代理类处理。

此外,ASP.NET 不保证何时创建角色提供程序对象。这有点像静态构造函数。您应该只依赖于它们在需要时确实存在的事实。

于 2009-01-02T21:07:34.127 回答