2012-06-17 3 views
9

Ich habe mich immer gefragt, sagen wir, Sie haben zwei asp.net-Websites im selben App-Pool ausgeführt.IIS App-Pools und statische Klassen

Lässt sie Website 1 und Website aufrufen 2

Beide Websites verweisen einige gemeinsamen Code, es lässt rufen Awesome.dll

Lassen Sie uns sagen, dass Awesome.dll eine Klasse enthält wie folgt definiert

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

Meine Frage:

beiden Seiten teilt die gleiche statische Klasse oder hat sie ihre eigene isolierte Kopie haben? Das heißt, wenn Website 1 eine Änderung an Foo.Bar vornimmt, wird diese Änderung in Website 2 widergespiegelt?

Antwort

8

Mein Verständnis ist, dass, während die Websites im selben App Pool sein werden, sie immer noch in ihrem eigenen App Domain sein werden. Das bedeutet, dass sie die Objekte des jeweils anderen nicht sehen können, und jeder hat seine eigene Instantiierung der statischen Klasse.

+0

Ich warf einen schnellen Test Kabelbaum und bestätigte, Danke! – iamkrillin

0

Jede Anwendung umfasst (Website) ist AppDomain und statische Daten mit in Zusammenhang mit Appdomain obwohl Web-Anwendung läuft laufen gleichen Anwendungspool

So Web Site2 mit Änderungen nicht in Web-Site gemacht widerspiegelt.