asp.net – 如何获取网站根URL?
发布时间:2020-05-23 07:11:50 所属栏目:asp.Net 来源:互联网
导读:我想动态获取ASP.NET应用程序的绝对根Url。这需要是以下形式的应用程序的完整根网址:http(s):// hostname(:port)/ 我一直在使用这个静态方法: public static string GetSiteRootUrl(){ string protocol; if (HttpContext.Current.Request.IsSecureConnect
|
我想动态获取ASP.NET应用程序的绝对根Url。这需要是以下形式的应用程序的完整根网址:http(s):// hostname(:port)/ 我一直在使用这个静态方法: public static string GetSiteRootUrl()
{
string protocol;
if (HttpContext.Current.Request.IsSecureConnection)
protocol = "https";
else
protocol = "http";
StringBuilder uri = new StringBuilder(protocol + "://");
string hostname = HttpContext.Current.Request.Url.Host;
uri.Append(hostname);
int port = HttpContext.Current.Request.Url.Port;
if (port != 80 && port != 443)
{
uri.Append(":");
uri.Append(port.ToString());
}
return uri.ToString();
}
但是,如果我没有HttpContext.Current在范围内? 解决方法对于WebForms,此代码将返回应用程序根目录的绝对路径,无论应用程序嵌套的方式如何:HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + ResolveUrl("~/")
上面的第一部分返回没有尾部斜杠的应用程序(http:// localhost)的方案和域名。 ResolveUrl代码返回应用程序根目录(/ MyApplicationRoot /)的相对路径。通过将它们组合在一起,您可以获得Web表单应用程序的绝对路径。 使用MVC: HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + Url.Content("~/")
或者,如果您尝试直接在Razor视图中使用它: @HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority)@Url.Content("~/") (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在MVC中使用ViewModels进行POST操作
- ASP.NET服务与存储库层
- asp.net-core – .NET Core SDK安装程序无法在Windows 2012
- asp.net-web-api – SelfHosted AspNet WebAPI与不同项目中
- asp.net-mvc – 如何在ASP.NET MVC中禁用客户端和代理缓存?
- asp.net – MVC 6 WebAPI返回序列化的HttpResponseMessage而
- asp.net-mvc-3 – 是否可以在将razor viewengine发送到客户
- asp.net-mvc – Web API模型绑定器不能与HttpPostedFileBas
- 在ASP.Net日历控件中默认选择当前日期
- ASP.NET如何确定是否排队请求?
推荐文章
站长推荐
- 自定义每个用户的会话超时 – ASP.NET
- asp.net-mvc – 如何进入MVC4源代码,而无需构建程
- 在IIS上部署ASP.NET Core项目的图文方法
- asp.net-mvc-3 – 在Razor / MVC3中显示db的图像
- asp.net-mvc – MVC5中的Bundle.IncludeDirector
- asp.net下经典数据库记录分页代码
- asp.net-mvc – MVC3,Ninject,MvcSiteMapProvide
- ASP.NET和底层连接已关闭:无法为SSL / TLS安全通
- asp.net-mvc – 将EF 4.1代码首先将ASP.NET MVC3
- asp.net菜单控件在safari中无法正确呈现
热点阅读
