IIS App Pools&静态类

时间:2012-06-17 11:48:01

标签: asp.net iis application-pool

我一直想知道,假设您有两个运行在同一个应用程序池中的asp.net网站。

让我们称他们为网站1和网站2

这两个网站都引用了一些共享代码,我们称之为Awesome.dll

假设Awesome.dll包含一个定义如下的类

public static class Foo
{
   public static string Bar { get; set; }
}

我的问题:

两个网站是否共享相同的静态类,还是拥有自己的隔离副本?也就是说,如果网站1对Foo.Bar进行了更改,该更改是否反映在网站2中?

2 个答案:

答案 0 :(得分:8)

我的理解是,虽然网站将位于同一个应用程序池中,但它们仍将位于自己的App Domain中。这意味着他们无法看到彼此的对象,并且每个对象都将拥有自己的静态类实例。

答案 1 :(得分:0)

每个应用程序包含(WebSite)运行AppDomain和静态数据,在appdomain的上下文中虽然Web应用程序运行相同的应用程序池

因此,Web Site2不会反映网站所做的更改。