Retrieving IIS Web Site Property Value during Application_Start in ASP.NET Web app.

J

Jordan S.

How would it be possible for an ASP.NET Web application, in it's
Application_Start event procedure, to programmatically determine the Web
site (in IIS) that the Web app is running under/for.

Say for example, that I have a Web site defined in IIS, with the
"Application name" property set to the value "MyWebApp". How could I get
the value "MyWebApp" into a string variable in Application_Start of the
ASP.NET Web application?

Please note that I'd like to get this value directly from IIS, and not have
to manually duplicate it in Web.config.

I'm currently using ASP.NET 3.5 with IIS 5.1 and 6, but will soon be
migratign everything to IIS 7.

Thanks.
 
D

David Wang

How would it be possible for an ASP.NET Web application, in it's
Application_Start event procedure, to programmatically determine the Web
site (in IIS) that the Web app is running under/for.

Say for example, that I have a Web site defined in IIS, with the
"Application name" property set to the value "MyWebApp".  How could I get
the value "MyWebApp" into a string variable in Application_Start of the
ASP.NET Web application?

Please note that I'd like to get this value directly from IIS, and not have
to manually duplicate it in Web.config.

I'm currently using ASP.NET 3.5 with IIS 5.1 and 6, but will soon be
migratign everything to IIS 7.

Thanks.


That value is stored in the Metabase. You should be able to use ADSI
or WMI to retrieve that value from the IIS Metabase.

However, IIS7 does not install with metabase support because it is
legacy. Instead, there is a new configuration store and schema that
maps onto ASP.Net .config files. What is used as identifier for a
website changes as well (though legacy interop layer tries to hide
some details).

In short, what are you trying to do?


//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//
 
T

ThatsIT.net.au

request.serverVariables("SERVER_SOFTWARE")

How would it be possible for an ASP.NET Web application, in it's
Application_Start event procedure, to programmatically determine the Web
site (in IIS) that the Web app is running under/for.

Say for example, that I have a Web site defined in IIS, with the
"Application name" property set to the value "MyWebApp". How could I get
the value "MyWebApp" into a string variable in Application_Start of the
ASP.NET Web application?

Please note that I'd like to get this value directly from IIS, and not
have
to manually duplicate it in Web.config.

I'm currently using ASP.NET 3.5 with IIS 5.1 and 6, but will soon be
migratign everything to IIS 7.

Thanks.


That value is stored in the Metabase. You should be able to use ADSI
or WMI to retrieve that value from the IIS Metabase.

However, IIS7 does not install with metabase support because it is
legacy. Instead, there is a new configuration store and schema that
maps onto ASP.Net .config files. What is used as identifier for a
website changes as well (though legacy interop layer tries to hide
some details).

In short, what are you trying to do?


//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//
 
J

Juan T. Llibre

re:
!> request.serverVariables("SERVER_SOFTWARE")

Sorry. That returns the IIS version.

The correct answer, in any ASP.NET page, is...

Dim appname as string = Request.ApplicationPath.Substring(1, Request.ApplicationPath.Length-1)
apppath.text = "The application's name is : " & appname

This code assumes you have a texbox named apppath.

You can also use, in global.asax's Application_Start :

Dim MyArray() As String = Split(AppDomain.CurrentDomain.DynamicDirectory, "\")
Application("APP_VIRTUAL_DIR") = (MyArray(6).ToString())

....and, in the page :

Dim AppVirtualDir as string = Application("APP_VIRTUAL_DIR")
apppath.text = AppVirtualDir

This code assumes you have a texbox named apppath.
You can use the AppVirtualDir variable as you see fit.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,021
Latest member
AkilahJaim

Latest Threads

Top