【问题标题】:Getting the link for a virtual directory获取虚拟目录的链接
【发布时间】:2015-04-13 14:24:09
【问题描述】:

我用 C# 为 JS 客户端编写了一个服务器。 解决方案由restApi BL和DAL组成。

BL 为存储在服务器上的虚拟目录中的图像创建链接。 JS和服务端代码,存放在同一个目录下。

当我构建链接的字符串时,我使用这行代码:

string keyImageName = Settings.Default.ServerUrl  + 
    Settings.Default.KeyImagesFolder + relatedFinding.KeyImagePath;`

其中 KeyImageFolder 是一个虚拟目录。

它工作正常,但我的问题是该网站有多个亚马逊实例,每个地理区域一个,所以每次部署时,我都需要更改设置中的 ip。这很烦人。

有没有办法获取虚拟目录的 url,专门针对每台机器?

如果JS和服务器安装在同一台机器上,真的需要全路径吗?

非常感谢

【问题讨论】:

  • 看看here
  • 您可以读取该实例的公共 IP,如果 IIS 指向根路径,那么您可以直接使用该 IP。

标签: c# asp.net


【解决方案1】:

首先,您需要获取要为其生成 url 的文件或目录的物理路径。这可以使用 Request.ApplicationPath 在 Page 对象中完成。

接下来,可以使用Server.MapPath函数将此路径转换为url路径。这将考虑到是否有多个网站绑定到 IIS 中的同一路径。

var physicalPath = Path.Combine(Request.ApplicationPath, Settings.Default.KeyImagesFolder, relatedFinding.KeyImagePath);
var resourceUrl = Server.MapPath(physicalPath);

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多