Xerratus
Happily stressed out, since 1974
Wednesday, August 01, 2007
<< Moving to Portland? Need a house with a great view?
Windows update KB938979 disables systems icons from displaying in the task bar >>
Get baseUrl from Request object, not web.config
In my years of programming, I've always found one thing that's been fairly consistent; developers love to put the baseUrl in the web.config. While this is nice and works
well
good, it does pose it's problems especially in local development environments where the baseUrl isn't always the same. One day a while back, I decided to write something that grabbed the baseUrl from the Request object. It didn't take much time at all and works great.
Today I needed to use it again for another project and thought I'd share while I had it open.
For those of you interested, here is the method I created:
private
string
GetBaseUrl()
{
HttpContext
context = Context;
string
url = context.Request.Url.AbsoluteUri;
string
baseUrl = url.Replace(context.Request.Url.AbsolutePath,
""
) + context.Request.ApplicationPath;
return
(baseUrl.EndsWith(
"/"
)) ? baseUrl : baseUrl +
"/"
;
}
To use, simply place this into the application_start event:
this
.Application.Add(
"BaseUrl"
, GetBaseUrl());
Now, to use from within your sites codebase you can access it as such:
string
baseUrl = (
string
)Page.Application[
"BaseUrl"
];
No web.config to worry about and works with different IIS settings when developers are working with the code.
Wednesday, August 01, 2007 @ 10:21 AM (-07:00) Pacific Daylight Time
Comments (1)
tags:
Programming
admin: Edit | Remove
Saturday, August 04, 2007 10:28:10 AM (Pacific Standard Time, UTC-08:00)
Hello John,
One sugestion: just save the scheme and host name and add the app path to that. This way you can also deal with the www vs. non www problem by doing a 301 when you need to.
Adi
Name
E-mail
Home page
Remember Me
Comment (Some html is allowed:
a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u
) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.
Enter the code shown (prevents robots):
Live Comment Preview
Site Navigation
About Me
Calendar
Disclaimer
Site Search
Sponsored Links
Calendar
<
November 2008
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
Monthly Archives
August, 2008 (1)
July, 2008 (1)
March, 2008 (2)
January, 2008 (3)
December, 2007 (3)
October, 2007 (1)
September, 2007 (1)
August, 2007 (5)
July, 2007 (5)
June, 2007 (3)
April, 2007 (5)
February, 2007 (2)
January, 2007 (2)
December, 2006 (9)
November, 2006 (15)
October, 2006 (19)
September, 2006 (3)
August, 2006 (5)
July, 2006 (4)
June, 2006 (6)
May, 2006 (12)
April, 2006 (20)
March, 2006 (11)
February, 2006 (14)
January, 2006 (14)
December, 2005 (23)
November, 2005 (23)
October, 2005 (42)
September, 2005 (4)
Categories
Alert (14)
Community Server (2)
Daily Quote (1)
Did you know (7)
Dumb Searches (1)
Dumbass (15)
General (133)
Haiku (6)
Holiday (5)
Movie quote (8)
Paladin (4)
Paris (1)
Parody (1)
Photo (24)
Political (2)
Priceless (7)
Programming (35)
Pytheus (2)
Rant (23)
Screen capture (15)
SQL (3)
Technical (39)
Video (4)
Vista (8)
Visual Studio 2005 (2)
Wifey (33)
XP (1)
Feeds
RSS
Atom
Good Reading
Code Better
Coding Horror
Computer Zen
Daily WTF
Days Bush Has Left
Dooce
Fargg
Me-Nikk
Post Secret
Rory Blythe
TechCrunch
Sign In