2009-01-02 81 views
4

我正在使用asp.net中的自定义角色提供程序,看起来一旦提供程序加载到内存中,直到Web应用程序重新启动(如web.config文件更改并保存)。此外,对该Web应用程序的所有请求似乎都利用角色提供者的一个实例。asp.net角色提供者何时生存和死亡?

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

回答

2

ASP.NET的设计假定提供程序是无状态对象。因此,你应该设计你的提供者的方式,你不需要知道它的创建时间和死亡时间。基本上,如果你真的想这样做,你可以把实际的逻辑放在一个不同的类中,它的创建和处理将由你介绍给ASP.NET的代理类来处理。

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