Role Environment Variables in Full IIS Web Role and in HWC Web Role
When you will use the following code in Page_Load function of
default.aspx:
String sRootPath = Environment.GetEnvironmentVariable("RoleRoot");
You will see different results depend on Full IIS Web Role
and HWC as below:
Full IIS Web Role - sRootPath
= NULL
HWC Web Role - sRootPath = E:
This is because:
-
In Full IIS
configuration, the Web Role is running in WaIISHost.exe process however to Web
Site is running in w3wp.exe.
-
In HWC web role,
both the role and web site is running in WaWebHost.exe process.
-
With Full IIS the
web site process is not only a different appdomain but a different process
launched by a different service.
-
Because of it the
situation becomes complex to pass the role environment variables to web site.
-
You can write code
to pass this data via the registry or file system.
-
You can read service
configuration settings using the RoleEnvironment.GetConfigurationSettings.