[英]My ASP.NET Web application runs normally on IIS express but not when I publish it
[英]ASP.NET Web application cant find my XML file, sayis its not in IIS Express folder
我在我的另一个项目中有一个类,它为XmlTextReader对象加载XML.xml文件。 然后我的另一个项目(网站)使用此项目来加载xml文件。 因此,当我运行此网站时,它说它无法在C:\\ Program Files(x86)\\ IIS Express \\ XML.xml中找到XML.xml文件。 我不能在那里创建一个新文件,我不知道如何配置这个网站从另一个目录中找到我的XML文件。 我试图谷歌很多,但无法找到任何好的答案。 任何快速修复或其他东西。 继承了asp.net中的代码
protected void Page_Load(object sender, EventArgs e)
{
XMLObjectParser parseri = new XMLObjectParser("XML.xml");
parseri.readFileAndSave();
item = parseri.getItem(1);
和我的XMLObjectParser中的代码
public XMLObjectParser(string file)
{
xmlreader = new XmlTextReader(file);
this.file = file;
}
谢谢
您的代码尝试在不指定路径名的情况下打开文件。
在此方案中,文件的结果位置是IIS进程启动目录,而不是您网站内的文件夹。
如果要访问网站文件夹中的文件,请使用Server.MapPath 。
如文档中所述,如果您未设置任何相对路径,则假定该文件存在于ASP页面所在的同一文件夹中。
所以,你可以写
XMLObjectParser parseri = new XMLObjectParser(Server.MapPath("XML.xml"));
如果您的文件应位于相对于调用页面的当前文件夹中。
您可以使用类似的方式在网站的文件夹结构中指定任何文件夹
XMLObjectParser parseri = new XMLObjectParser(Server.MapPath("/APP_DATA/XML.xml"));
有关Server.MapPath的更多信息,请点击此处
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.