为了让 web 应用程序更简单地与不同服务器上的另一个应用程序共享文件,我在我的母版页中使用了基本 href 标记。正如许多人所发现的那样,这会破坏网络表单的路径。我有一个工作表单适配器类,但不确定如何获取 url 的绝对路径。目前,我的程序被硬编码为使用类似于:
HttpContext Context = HttpContext.Current;
value = "http://localhost" + Context.Request.RawUrl;
值得注意的是,我目前正在我的本地 IIS 服务器上进行测试,因此我尝试使用的很多东西都有一种奇怪的趋势,以便绝对路径不包含域名(我的本地 IIS 不可见外部)。这意味着它不是绝对路径,因此基本 href 会破坏它。
有没有一种很好的方法来处理这个问题,它可以在没有硬编码的情况下在本地工作,但在上传到服务器时也能正常工作?我宁愿避免任何涉及在服务器端副本上做不同事情的事情。
是的,我意识到我可以在本地和服务器上使用单独的 web.config 文件来获取此信息,但这很丑陋并且违反了 DRY。