Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
C# Environment.ExpandEnvironmentVariables在IIS中返回意外路径_C#_Iis 10 - Fatal编程技术网

C# Environment.ExpandEnvironmentVariables在IIS中返回意外路径

C# Environment.ExpandEnvironmentVariables在IIS中返回意外路径,c#,iis-10,C#,Iis 10,当我在vs中运行它时,我得到了我需要的路径 C:\Users\User pc\AppData\Local\Dropbox\info.json 当发布到IIS时,我得到 C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\Dropbox\info.json 这是因为IIS未在您的用户帐户下运行。它正在系统帐户下运行。C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\是IIS

当我在vs中运行它时,我得到了我需要的路径

C:\Users\User pc\AppData\Local\Dropbox\info.json

当发布到IIS时,我得到

C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\Dropbox\info.json


这是因为IIS未在您的用户帐户下运行。它正在系统帐户下运行。C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\是IIS帐户的正确路径


您可以将IIS应用程序池上的用户帐户设置为不适合安全的用户,或者您可以通过另一种方式传递正确的路径web.config可能?

%LOCALAPPDATA%是用户特定的文件夹。 当您从VS运行时,IIS不会使用与您相同的用户

我认为有两种解决方案: -将此文件的文件夹更改为更常见的网站文件夹,或类似于D:\Dropbox\info.json的文件夹
-更改IIS使用的用户,但这确实不是一个好选项

我觉得原来的问题像是有缺陷的XY问题:访问存储在服务器计算机上的用户Dropbox应用程序。可能是,也可能是部署在其本地计算机上。@UweKeim我在Dropbox上有一个文件,需要在多台PC上使用,我使用这种方法,这样我就不必每次更改web.config中的路径。你知道这是在查看服务器文件系统,而不是访问文件系统的用户吗?@AndrewMonks是的,是的,我知道你应该将info.json文件与应用程序一起部署到APP_数据文件夹,然后从那里读取它。
var filename = Environment.ExpandEnvironmentVariables(@"%LOCALAPPDATA%\Dropbox\info.json");