我的配置文件如下:
<application>
<sites>
<site name="Default Web Site" id="100">
<application path="/" applicationPool="Default Web Site">
<virtualDirectory path="/" physicalPath="D:\inetpub\folder1" />
</application>
</site>
<site name="Default Web Site2" id="200">
<application path="/" applicationPool="Default Web Site">
<virtualDirectory path="/" physicalPath="D:\inetpub\folder2" />
</application>
</site>
</sites>
</application>
我需要访问每个网站并获取其物理路径。我做了以下 -
string filepath = @"C:\Users\Host.config";
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
XmlDocument doc = new XmlDocument();
doc.Load(fs);
if (File.Exists(filepath))
{
do
{
switch (rdrXml.NodeType)
{
//case XmlNodeType.Element:
// TextBox1.Text = rdrXml.Name;
// break;
case XmlNodeType.Element:
if (rdrXml.Name== "site")
{
string webname= rdrXml["name"].ToString();
TextBox2.Text = webname;
if (rdrXml.Name == "virtualDirectory")
{
TextBox1.Text = rdrXml["physicalPath"].ToString();
}
}
break;
}
} while (rdrXml.Read());
} // file exists check
但我无法访问默认网站的PhysicalPath。它要么是 - 要么我得到网站的路径或名称而不是两者。有没有办法确定两者?
答案 0 :(得分:0)
我使用了Microsoft.Web.Administration,并且能够得到我想要的东西。