我一直想知道,假设您有两个运行在同一个应用程序池中的asp.net网站。
让我们称他们为网站1和网站2
这两个网站都引用了一些共享代码,我们称之为Awesome.dll
假设Awesome.dll包含一个定义如下的类
public static class Foo
{
public static string Bar { get; set; }
}
我的问题:
两个网站是否共享相同的静态类,还是拥有自己的隔离副本?也就是说,如果网站1对Foo.Bar进行了更改,该更改是否反映在网站2中?
答案 0 :(得分:8)
我的理解是,虽然网站将位于同一个应用程序池中,但它们仍将位于自己的App Domain中。这意味着他们无法看到彼此的对象,并且每个对象都将拥有自己的静态类实例。
答案 1 :(得分:0)
每个应用程序包含(WebSite)运行AppDomain和静态数据,在appdomain的上下文中虽然Web应用程序运行相同的应用程序池
因此,Web Site2不会反映网站所做的更改。