-1

我正在开发一个托管在 IIS7 中的基于 HTML5 的 WebApp。此 Web 应用程序向 IIS7 中托管的 Web 服务发送请求。

服务初始化查找特定文件,例如:“appfile.txt”为

FileStream stream = File.OpenRead("appfile.txt"); // opens file for reading.

当作为控制台应用程序运行时,此调用在 project\bin 或输出目录中查找并能够找到指定的文件。

但是 IIS7 中托管的相同内容在“C:\windows\system32\inetsrv\appfile.txt”中查找。

是否有任何配置项在 web.config 中使用过从 IIS7 应用程序的 Bin 目录而不是其他任何地方定位文件?

任何帮助深表感谢。

4

3 回答 3

1

如果应用程序文件位于您的 Web 应用程序文件夹中,请尝试使用 Server.MapPath 获取文件相对于 Web 应用程序根目录的位置:

File.OpenRead(Server.MapPath("~/appfile.txt"))

那应该行得通。您可能需要设置 appfile.txt 属性,以便将其复制到输出文件夹。

于 2012-09-24T19:49:17.503 回答
0

您当然可以在 web.config 文件中创建自己的部分来获取所需的文件路径。它不需要预先定义。然后只需使用您想要的任何 XML 阅读器。

或者,您可以在 Visual Studio 中非常轻松地创建一个 .resx 文件,然后将路径填充为变量。

于 2012-09-24T19:46:38.080 回答
0

感谢您的所有宝贵意见,我可以使用以下代码片段自己解决此问题

string path = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;

string[] labs = File.ReadAllLines(path + "/appfile.txt");

这段代码让我可以毫无问题地读取文件内容。

于 2012-10-16T08:58:55.440 回答