我在同一个解决方案中有两个Web应用程序项目(项目A和项目B)。
我希望能够:通过项目A,将项目保存在项目B的某个目录中。
每当我使用Server.MapPath等时,它都会解析为项目A的虚拟目录,而不是B。
从我的阅读中,我相信我应该能够直接在保存方法中输入项目B的URL。但是,目前这两个项目都没有部署。此外,我想利用他们在同一解决方案上的事实。
TIA!
答案 0 :(得分:0)
但如果你保存文件,那么你不想访问虚拟目录;你想要实际(物理)目录。这意味着 Request.MapPath 是要走的路;您可以将 cross-app mapping 设置为 true 来使用重载。
string pathToAppB = Request.MapPath("/AppBVirtualPath", Request.ApplicationPath, true);
但您仍然必须知道将部署哪个虚拟路径应用程序B;除非部署到本地IIS,否则无法在本地进行测试。
答案 1 :(得分:0)
您可以将项目A和项目B的虚拟目录配置到磁盘上的同一目录中。使用Server.MapPath从项目A保存文件时,它将保存到该文件夹。然后当Project B尝试通过url访问该文件时。虚拟目录将访问同一目录。
为Web项目配置虚拟目录:
在visual studio中:见this post。
在IIS中:请参阅this tutorial。