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.
Yes, as long as the url you type into the browser www.someshopping.com and you aren't using url rewriting then
string currentURL = HttpContext.Current.Request.Url.Host;
will return www.someshopping.com
Note the difference between a local debugging environment and a production environment
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
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 technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.