首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >URL的Asp.Net绝对路径

URL的Asp.Net绝对路径
EN

Stack Overflow用户
提问于 2009-02-19 22:45:18
回答 5查看 58K关注 0票数 49

为了让with应用程序更容易与不同服务器上的另一个应用程序共享文件,我在我的母版页中使用了一个基本的href标签。正如许多人所发现的那样,这破坏了webform路径。我有一个可用的Form Adaptor类,但不确定如何获取url的绝对路径。目前,我的程序被硬编码为使用类似于:

代码语言:javascript
复制
HttpContext Context = HttpContext.Current;
value = "http://localhost" + Context.Request.RawUrl;

值得注意的是,我目前正在我的本地IIS服务器上进行测试,所以我尝试使用的许多东西都有一种奇怪的趋势,即绝对路径不包括域名(我的本地IIS在外部不可见)。这意味着它不是绝对路径,因此基本href将破坏它。

有没有一种好的方法来处理这个问题,这样它就可以在本地工作,而不需要硬编码,但在上传到服务器时也可以正常工作?我更倾向于避免任何涉及到在服务器端拷贝上做一些不同的事情。

是的,我知道我可以在本地和服务器上使用单独的web.config文件来获取这些信息,但这很丑陋,而且违反了规则。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-02-19 22:56:49

我在过去用过这个:

代码语言:javascript
复制
// Gets the base url in the following format: 
// "http(s)://domain(:port)/AppPath"
HttpContext.Current.Request.Url.Scheme 
    + "://"
    + HttpContext.Current.Request.Url.Authority 
    + HttpContext.Current.Request.ApplicationPath;
票数 112
EN

Stack Overflow用户

发布于 2015-10-22 23:30:57

旧的post,但这里是另一个稍微不那么冗长的方法

代码语言:javascript
复制
var baseUri = new Uri(HttpContext.Current.Request.Url, "/");
票数 4
EN

Stack Overflow用户

发布于 2016-11-02 19:47:59

我已经使用了following,它对我的客户端和服务器都有效。

代码语言:javascript
复制
string surl = string.Format("{0}://{1}",
    HttpContext.Current.Request.Url.Scheme,
    HttpContext.Current.Request.Url.Authority);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/567590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档