I'm having a local application which has a path:
http://localhost:950/m/pages/Searchresults.aspx?search=knife&filter=kitchen
but when this goes to integration environment or perhaps the production, it will be something like
http://www.someshopping.com/m/pages/SearchResults.aspx?search=knife&filter=kitchen
For some case I need to pass just:
www.someshopping.com
to my XSLT file and in one of the function I'm using this:
string currentURL = HttpContext.Current.Request.Url.Host;
this returns me "localhost" in local environment. Will the same code return me:
www.someshopping.com in production (I DO NOT need http://)
just don't want to take any chance. So asked this silly question.
This question is related to
c#
asp.net
http
httpcontext
Try this:
string callbackurl = Request.Url.Host != "localhost"
? Request.Url.Host : Request.Url.Authority;
This will work for local as well as production environment. Because the local uses url with port no that is possible using Url.Host.
The Host
property will return the domain name you used when accessing the site. So, in your development environment, since you're requesting
http://localhost:950/m/pages/Searchresults.aspx?search=knife&filter=kitchen
It's returning localhost
. You can break apart your URL like so:
Protocol: http
Host: localhost
Port: 950
PathAndQuery: /m/pages/SearchResults.aspx?search=knight&filter=kitchen
Source: Stackoverflow.com