【十万火急】关于获取IIS虚拟目录对应的真实路径的问题。
问题描述:
在我的机器上配置有一个虚拟目录,暂且叫virA,其对应的本地真实路径为:E:\webs\test\ 且该目录下还有一个文件夹叫UpFiles(完整路径为 E:\webs\test\UpFiles). 现在有一个ASP.NET Form程序(用ASP.NET C#编写,暂且叫Form.exe,其路径为:E:\form\Form.exe),它要完成一个功能,该功能完成以下操作:把该exe程序所在目录下的一个叫Files文件夹(完整路径为E:\form\Files)下的文件转移到E:\webs\test\UpFiles,即上述的虚拟目录所在的一个文件夹。
问题所在:
本来这是一个很简单的事情,因为虚拟目录所在的机器以及Form程序所在的机器是同一台,可以简单地应用系统的CopyTo方法实现:
...
//获取E:\form\Files路径下的文件信息,存在fs中
fs.CopyTo("E:\webs\test\UpFiles\" + fileName,true);
可是我现在无法获取"E:\webs\test\UpFiles\"这个值,因为这个虚拟目录对应的实际地址是可以指定到本地硬盘的任何一个路径的,有一种解决方案是我可以把这个路径"E:\webs\test\UpFiles\"写到一个配置文件中,但是这样做会很麻烦。
现在我想问的是,能不能利用我现在的优势所在,即虚拟目录所在的机器以及Form程序所在的机器是同一台,来获取到虚拟目录下的UpFiles文件夹对应的真实路径,我觉得应该是可以的,因为我的这些操作都是在同一台机器,能否考虑向IIS请求获取这个路径?ASP.NET有没有提供相关方法?