Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight IIS7-从应用程序池读取文件_Silverlight_Iis 7_Permissions_Filesystems - Fatal编程技术网

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

Silverlight IIS7-从应用程序池读取文件,silverlight,iis-7,permissions,filesystems,Silverlight,Iis 7,Permissions,Filesystems,编辑:我把它弄得比需要的更混乱。忘记这是一个Silverlight客户端。我有一个托管在IIS中的WCF服务,需要访问本地文件系统上的文件。这项服务的消费者将是Silverlight,但我认为这并不重要,应该忽略这一点 我有一个Silverlight应用程序,我在其中托管一个服务。在这个服务中,我希望读取C驱动器根目录中的文本文件(仅用于测试)。我遇到一个异常,无法找到该文件。我认为这是一个权限问题,但我无法理解 我已将我的应用程序池标识设置为NetworkService。我已将.NET信任级别

编辑:我把它弄得比需要的更混乱。忘记这是一个Silverlight客户端。我有一个托管在IIS中的WCF服务,需要访问本地文件系统上的文件。这项服务的消费者将是Silverlight,但我认为这并不重要,应该忽略这一点

我有一个Silverlight应用程序,我在其中托管一个服务。在这个服务中,我希望读取C驱动器根目录中的文本文件(仅用于测试)。我遇到一个异常,无法找到该文件。我认为这是一个权限问题,但我无法理解

我已将我的应用程序池标识设置为NetworkService。我已将.NET信任级别设置为完全(内部)。我甚至还授予NetworkService用户对我试图读取的文本文件的读取权限

该服务需要访问文件系统。正确的方法是什么

谢谢


-斯科特

首先,把现实生活中不在等式中的东西从等式中去掉。在实际的应用程序中,您不会从C:\中读取数据。因此,值得思考的是,你将从哪里阅读

我建议您的文件将位于网站的
App\u Data
文件夹中。因此,请尝试将一个文件放在那里,然后从服务访问它。您可以通过以下方式解析App_数据物理文件:

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

您是从Silverlight应用程序还是从服务读取文件?从服务读取。一切都是从服务器上完成的,困扰我的是“Silverlight应用程序,我在其中托管服务”这一行。您如何从Silverlight客户端访问服务?忘记这是一个Silverlight应用程序。将其视为一个简单的WCF服务,需要从C驱动器上的文件中读取。此服务的消费者将是Silverlight和其他类型的客户端。我想我的问题比我提到Silverlight时所需要的更让人困惑。我之所以试图从C驱动器中阅读,是因为我有几个原因。例如,我必须使用LoadLibrary()加载一个本机dll,并且知道它会在本地驱动器上找到。然而,你的帖子让我想到我可以像其他任何东西一样将这个dll添加到我的应用程序数据中。我会试试看它是否能解决我的问题。谢谢……史葛:你有没有考虑把所有的东西放到Web应用程序文件夹中?