Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

0 views
Skip to first unread message

Jordan S.

unread,
Apr 18, 2008, 6:36:10 PM4/18/08
to
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.

David Wang

unread,
Apr 19, 2008, 12:49:20 AM4/19/08
to


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
//

ThatsIT.net.au

unread,
Apr 19, 2008, 1:05:28 PM4/19/08
to
request.serverVariables("SERVER_SOFTWARE")

"David Wang" <w3....@gmail.com> wrote in message
news:233d62e8-74d5-4dcb...@v23g2000pro.googlegroups.com...

Juan T. Llibre

unread,
Apr 19, 2008, 1:54:42 PM4/19/08
to
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.


Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"ThatsIT.net.au" <me@work> wrote in message news:2CAA9442-7EFB-4299...@microsoft.com...

0 new messages