在另一个Web应用程序中访问虚拟目录

时间:2012-06-27 05:30:12

标签: asp.net directory virtual

我在同一个解决方案中有两个Web应用程序项目(项目A和项目B)。

我希望能够:通过项目A,将项目保存在项目B的某个目录中。

每当我使用Server.MapPath等时,它都会解析为项目A的虚拟目录,而不是B。

从我的阅读中,我相信我应该能够直接在保存方法中输入项目B的URL。但是,目前这两个项目都没有部署。此外,我想利用他们在同一解决方案上的事实。

TIA!

2 个答案:

答案 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