使用ASP.Net获取应用程序URL

时间:2015-02-19 09:01:35

标签: c# asp.net vb.net deployment localhost

我需要在会话到期时重定向到我的应用程序的CommonPage.aspx页面。

我的申请网址与http://Name_IP/applicationname/FolderName/Home.aspx

类似

从上面的网址我需要重定向到http://Name_IP/applicationname/commonpage.aspx

我使用下面的代码重定向

"http://localhost://" + Request.Url.Port.ToString() + "//applicationname/commonpage.aspx"

上面的代码可以在localhost中使用。但部署后它无法正常工作。 怎么做?请建议

如何用Name_IP替换localhost?

3 个答案:

答案 0 :(得分:1)

Request.Url包含请求中的完整网址。查看Host属性。

答案 1 :(得分:1)

这样做的好方法是创建一个新的Uri

var uri = new Uri(Request.Url, "applicationname/commonpage.aspx");

这将返回Uri,其值是

http://foo.bar:8080/applicationname/commonpage.aspx

答案 2 :(得分:0)

您可以使用

获取主机名,包括端口
Request.Url.GetLeftPart(UriPartial.Authority)

然后你可以使用

var url = String.Format(
    "{0}/{1}"
    Request.Url.GetLeftPart(UriPartial.Authority),
    "applicationname/commonpage.aspx")

会产生类似

的东西
http://foo.bar:8080/applicationname/commonpage.aspx