gpt4 book ai didi

IIS 7.5 应用程序池将错误的 %APPDATA% 用于自定义用户作为标识

转载 作者:行者123 更新时间:2023-12-04 01:38:35 24 4
gpt4 key购买 nike

我希望我的 MVC3 Web 应用程序访问 %APPDATA%(例如 Windows 7 上的 C:\Users\MyUsername\AppData\Roaming),因为我将配置文件存储在那里。因此,我在 IIS 中以用户“MyUsername”的身份创建了一个应用程序池,通过使用该帐户登录创建了该用户的配置文件,并打开了“加载用户配置文件”选项(无论如何默认为 true)。模拟功能已关闭。

现在我遇到了 %APPDATA%(在 C# 中)的问题:

appdataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

解析为 c:\windows\system32\inetsrv而不是 C:\Users\MyUsername\AppData\Roaming .

更新:更确切地说,上面的 C# 代码返回一个空字符串,因此 Path.GetFullPath(Path.Combine(appdataDir, "MyAppName"))将当前路径添加到我的应用程序名称中,结果是 c:\windows\system32\inetsrv\MyAppName .

我知道我之前在 Windows Server 2008 R2 上使用相同的 Web 应用程序完成了这项工作,现在我在 Windows 7 上使用相同的 IIS 7.5 主要版本遇到了这个问题。
我使用了与之前相同的过程:创建一个新用户,以该用户身份登录以创建配置文件和 APPDATA 目录,然后使用此身份添加应用程序池,最后将 Web 应用程序添加到此池中。

有什么想法吗?

最佳答案

打开您的 %WINDIR%\System32\inetsrv\config\applicationHost.config并寻找 <applicationPoolDefaults> .下 <processModel> ,请确保您没有 setProfileEnvironment="false" .如果这样做,请将其设置为 true。

关于IIS 7.5 应用程序池将错误的 %APPDATA% 用于自定义用户作为标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com