问题
I've always wondered, lets say you have two asp.net websites running in the same app pool.
Lets call them Website 1 and Website 2
Both of these websites reference some shared code, lets call it Awesome.dll
Lets say that Awesome.dll contains a class defined as below
public static class Foo
{
public static string Bar { get; set; }
}
My question:
Do both websites share the same static class or do they have their own isolated copy? That is to say, if Website 1 makes a change to Foo.Bar, is that change reflected in website 2?
回答1:
My understanding is that while the websites will be in the same App Pool, they'll still be in their own App Domain. That means they can't see each other's objects, and each one will have it's own instantiation of the static class.
回答2:
Each Application include(WebSite) is running AppDomain and static data with in context of appdomain though web application are running same application pool
So Web Site2 will not reflect with changes made in Web Site.
来源:https://stackoverflow.com/questions/11071067/iis-app-pools-static-classes