日期:2014-05-19  浏览次数:20395 次

如何获得这样的路径,请高手指教!!!
在虚拟主机上我的网站物理路径是: "d:\wwwroot\jason\wwwroot\index.aspx "
iis   映射的路径是 "d:\wwwroot\jason\wwwroot\ "
在jason文件夹下还有几个文件夹,upload用于存放用户上传的数据,databases用于存放网站的数据库,我在后台代码里怎么设置数据库路径啊?用mappath( "~ "),mappath( "../ ")都不行,用物理路径也不行,最高只能拿到 "d:\wwwroot\jason\wwwroot\ "。

怎样才能获得 "d:\wwwroot\jason\databases "的路径啊?

------解决方案--------------------
这是我的测试: Response.Write(System.IO.File.Exists(Server.MapPath( "~ ") + @ "\..\..\aa.xls "));
------解决方案--------------------
下面这个写法比较好:

string ext;
ConnectionStringSettings Ext = ConfigurationManager.ConnectionStrings[ "extend "];
if (Ext != null)
ext= Ext.ConnectionString;
else
ext= "..\\databases ";
DirectoryInfo DatabaseDir=new DirectoryInfo(
Path.Combine(AppDomain.CurrentDomain.BaseDirectory,ext));

当然要先 using System.IO。

这个实现的逻辑含义与web无关,对于web应用和WinForm应用都不应去理会,更可靠一些。使用时,web应用与WinForm应用的配置文件是不一样的。