namespace test.components.business
{
public class A
{
}
}
该文件在工程中的路径应该是components/business/A.cs
现在我要在类A中获取该类对应文件的绝对路径,即如果工程路径是c:\wwwroot\test\,则我要能返回c:\wwwroot\test\components\business\A.cs
我用Environment.CurrentDirectory和Directory.GetCurrentDirectory都只能返回系统目录c:\winnt\system,如果用Server.Mappath("/")好象返回的是虚拟目录的根目录,也不是工程目录。
6 个解决方案
#1
Server.Mappath("./components/business/A.cs
");
");
#2
try
Request.PhysicalPath
#3
我知道了,用HttpRuntime.AppDomainAppPath
Request.PhysicalPath和Server.Mappath("./components/business/A.cs
");我认为都不太合适。因为我的类文件和Request以及Page没有任何关系,是一个独立的组件。
Request.PhysicalPath和Server.Mappath("./components/business/A.cs
");我认为都不太合适。因为我的类文件和Request以及Page没有任何关系,是一个独立的组件。
#4
Server.Mappath会不适合?
#5
我这里自己写了个方法,原来是用来读数据库配置文件的,后来写到web.conf里面去了,不过我觉得还是很有用的一个方法。你试一下。自己看看代码再改吧。
private string readConfFile()
{
System.IO.StreamReader sr;
try
{
System.Web.UI.Page page = new System.Web.UI.Page();
string str = page.Server.MapPath("dbConf.txt");
str=str.Substring(0,str.IndexOf("Pub"));
str+="Classes\\Common\\Business\\dbConf.txt";
str=str.Replace("\\","\\\\");
sr=File.OpenText(str);
while(sr.Peek()!=-1)
{
conString+=sr.ReadLine();
}
sr.Close();
}
catch(Exception ee)
{
return ee.Message.ToString();
}
return conString;
}
private string readConfFile()
{
System.IO.StreamReader sr;
try
{
System.Web.UI.Page page = new System.Web.UI.Page();
string str = page.Server.MapPath("dbConf.txt");
str=str.Substring(0,str.IndexOf("Pub"));
str+="Classes\\Common\\Business\\dbConf.txt";
str=str.Replace("\\","\\\\");
sr=File.OpenText(str);
while(sr.Peek()!=-1)
{
conString+=sr.ReadLine();
}
sr.Close();
}
catch(Exception ee)
{
return ee.Message.ToString();
}
return conString;
}
#6
怎么读配置文件我是知道的。主要是程序路径。按我的方法一切正常。
#1
Server.Mappath("./components/business/A.cs
");
");
#2
try
Request.PhysicalPath
#3
我知道了,用HttpRuntime.AppDomainAppPath
Request.PhysicalPath和Server.Mappath("./components/business/A.cs
");我认为都不太合适。因为我的类文件和Request以及Page没有任何关系,是一个独立的组件。
Request.PhysicalPath和Server.Mappath("./components/business/A.cs
");我认为都不太合适。因为我的类文件和Request以及Page没有任何关系,是一个独立的组件。
#4
Server.Mappath会不适合?
#5
我这里自己写了个方法,原来是用来读数据库配置文件的,后来写到web.conf里面去了,不过我觉得还是很有用的一个方法。你试一下。自己看看代码再改吧。
private string readConfFile()
{
System.IO.StreamReader sr;
try
{
System.Web.UI.Page page = new System.Web.UI.Page();
string str = page.Server.MapPath("dbConf.txt");
str=str.Substring(0,str.IndexOf("Pub"));
str+="Classes\\Common\\Business\\dbConf.txt";
str=str.Replace("\\","\\\\");
sr=File.OpenText(str);
while(sr.Peek()!=-1)
{
conString+=sr.ReadLine();
}
sr.Close();
}
catch(Exception ee)
{
return ee.Message.ToString();
}
return conString;
}
private string readConfFile()
{
System.IO.StreamReader sr;
try
{
System.Web.UI.Page page = new System.Web.UI.Page();
string str = page.Server.MapPath("dbConf.txt");
str=str.Substring(0,str.IndexOf("Pub"));
str+="Classes\\Common\\Business\\dbConf.txt";
str=str.Replace("\\","\\\\");
sr=File.OpenText(str);
while(sr.Peek()!=-1)
{
conString+=sr.ReadLine();
}
sr.Close();
}
catch(Exception ee)
{
return ee.Message.ToString();
}
return conString;
}
#6
怎么读配置文件我是知道的。主要是程序路径。按我的方法一切正常。