"~" in Visual Studio and "~" in real IIS

  • Thread starter Thread starter Alex Maghen
  • Start date Start date
A

Alex Maghen

I am confused about something: Let's say I have a web application I've
developed and it's sitting in a directory called "Docroot". In that Docroot
folder is a Web.config and a Default.aspx.

Whe I run the application from within Visual Studio (2008), the URL in IE
when it runs is:
http://localhost:2635/Docroot/Default.aspx
with the "Docroot" directory included in the URL.

But, of course, when I run it in IIS (outside of Visual Studio), the URL of
the "base" of the application will be
http://localhost/Default.aspx
without the "Docroot" directory showing.

This poses a little problem for me in development:

Let's say I want to build my application so that I can rewite the URL of the
site from within the application based on runtime properties. The problem is,
I don't know how to rebuild the path of "~" because it'll be different if
it's running in VS as opposed to normally in IIS.

Is there a way to "know" this in runtime? And why *is* it different anyway?

Alex
 
Alex Maghen said:
I am confused about something: Let's say I have a web application I've
developed and it's sitting in a directory called "Docroot". In that
Docroot
folder is a Web.config and a Default.aspx.

Whe I run the application from within Visual Studio (2008), the URL in IE
when it runs is:
http://localhost:2635/Docroot/Default.aspx
with the "Docroot" directory included in the URL.

But, of course, when I run it in IIS (outside of Visual Studio), the URL
of
the "base" of the application will be
http://localhost/Default.aspx
without the "Docroot" directory showing.

This poses a little problem for me in development:

Let's say I want to build my application so that I can rewite the URL of
the
site from within the application based on runtime properties. The problem
is,
I don't know how to rebuild the path of "~" because it'll be different if
it's running in VS as opposed to normally in IIS.

Is there a way to "know" this in runtime? And why *is* it different
anyway?

Alex

I'm not sure why it's different, but you can change it in VS by clicking
your web site in the Solution Explorer then setting the "Virtual Path"
property in the Properties window (to, say, "/").

You can also convert the virtual path at runtime using
Server.MapPath("~/Default.aspx").
 
Scott -

Thanks. I didn't know you could change this Virtual Path value in VS. That
make things a LOT easier.

Alex
 
Back
Top