【发布时间】:2010-02-16 15:38:59
【问题描述】:
我有一个 Web 应用程序,我将它部署到多个应用程序,例如 -
https://customerinternaldomain.com/thewebapp
有很多链接会弹出打开的窗口。过去我使用以下方法来确定要弹出的窗口的 url。
string appPath = this.Request.ApplicationPath;
if ( !appPath.EndsWith ( "/" ) )
appPath += "/";
string sURL = this.Request.Url.Scheme + "://" + this.Request.Url.Authority
+ appPath
然后我只是附加到我想打开的窗口页面的路径上
appPath += "somefolder/window.aspx"
我们的一个安装刚刚移到了一个非标准端口,比如 20055。
所以我想出了一个干净的完整证明方法来确保将端口插入到路径中,但是由于 webapp 映射到 https://internaldomain.com/thewebapp 而不仅仅是 https://internaldomain.com/ 我不是看到使用请求服务器变量执行此操作的干净方式。当然,我可以使用拆分或其他东西来破解和削减,或者将基本 Web 路径存储在可以读取的配置文件中。只是想知道是否有人有这样做的干净方法。假设我只是想念一些明显的东西,所以我想我会把最好的和最聪明的放在上面。
感谢您提供的任何帮助,我知道时间很宝贵。我很感激。
【问题讨论】:
-
你在一个不是 80 的端口上通过 http 提供 html,抛出一个陈词滥调,你做错了。
-
他遵循规范,我只是不喜欢生产系统在非标准端口上通过 http 提供纯 html。这是一种观点,但我敢打赌,这是一种足够普遍的观点,可以称之为最佳实践。