0
var filename = Environment.ExpandEnvironmentVariables(@"%LOCALAPPDATA%\Dropbox\info.json");

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

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

当发布到 IIS 时,我得到

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

4

2 回答 2

1

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

您可以将 IIS 应用程序池上的用户帐户设置为您的用户(不利于安全,https: //technet.microsoft.com/en-us/library/cc771170(v=ws.10).aspx ),或者您可以通过另一种方式传递正确的路径(也许是 web.config)?

于 2017-02-09T15:39:53.260 回答
0

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

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

于 2017-02-09T15:42:26.537 回答