IIS7 - 从应用程序池中读取文件

时间:2011-10-13 17:47:15

标签: silverlight iis-7 permissions filesystems

编辑:我让这更令人困惑。忘记这是一个Silverlight客户端。我有一个托管在IIS中的WCF服务,需要访问本地文件系统上的文件。这项服务的消费者将是Silverlight,但我认为这不重要,应该将其排除在外。

我有一个Silverlight应用程序,我在其中托管服务。在这项服务中,我想读取C盘根目录中的文本文件(仅用于测试)。我收到一个异常抛出的文件无法找到。我认为这是一个权限问题,但我无法弄明白。

我将我的应用池标识设置为NetworkService。我将.NET Trust Level设置为Full(Internal)。我甚至在我试图阅读的文本文件上给予NetworkService用户读取权限。

该服务需要具有对文件系统的访问权限。这样做的正确方法是什么?

谢谢,

-Scott

1 个答案:

答案 0 :(得分:0)

首先,在现实生活中不会出现等式中的事物。在实际应用程序中,您不会从C:\中读取。所以值得考虑一下你将从哪里读书。

我建议您的文件位于网站的App_Data文件夹中。所以尝试在那里放一个文件,然后从服务中访问它。您可以使用以下命令解析App_Data物理文件:

string filePath = Path.Combine(HttpRuntime.AppDomainAppPath, "App_Path\SomeFile.txt");