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?
IIS Application Pool Definition Application pools in Internet Information Services (IIS) is a mechanism designed to comprise a group of web applications corresponding to one or more worker processes (w3wp.exe) sharing a common configuration.
For every application pool you create, the Identity property of the new application pool is set to ApplicationPoolIdentity by default. The IIS Admin Process (WAS) will create a virtual account with the name of the new application pool and run the application pool's worker processes under this account by default.
An application pool serves as a container for your applications in IIS. It's a collection of one or more URLs that can be served by a worker process, and it provides isolation: applications that run on one application pool are in no way affected by other applications that run on different application pools.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With