Getting the link for a virtual directory
我已经用C语言为JS客户机编写了一个服务器。解决方案包括restapi bl和dal。
BL为存储在服务器虚拟目录中的图像创建链接。JS和服务器代码存储在同一个目录中。
当我构建链接的字符串时,我使用以下代码行:
1 2 | string keyImageName = Settings.Default.ServerUrl + Settings.Default.KeyImagesFolder + relatedFinding.KeyImagePath;` |
其中keyImageFolder是一个虚拟目录。
它工作得很好,但我的问题是网站有多个亚马逊实例,每个地理区域一个,所以每次部署时,我都需要在设置中更改IP,这很烦人。
有没有一种方法可以获取虚拟目录的URL,特别是对于每台机器?
如果JS与服务器安装在同一台计算机上,那么它真的需要完整的路径吗?
多谢
首先,您需要获取要为其生成URL的文件或目录的物理路径。这可以在使用request.applicationpath的页面对象中完成。
接下来,可以使用server.mappath函数将此路径转换为URL路径。如果在IIS中有多个网站绑定到同一路径,则需要考虑这一点。
1 2 | var physicalPath = Path.Combine(Request.ApplicationPath, Settings.Default.KeyImagesFolder, relatedFinding.KeyImagePath); var resourceUrl = Server.MapPath(physicalPath); |