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

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
 
S

Scott Roberts

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").
 
A

Alex Maghen

Scott -

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

Alex
 

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,995
Messages
2,570,228
Members
46,818
Latest member
SapanaCarpetStudio

Latest Threads

Top