我希望我的MVC3 Web应用程序来访问%APPDATA%(例如C:\Users\MyUsername\AppData\Roaming
在Windows 7),因为我存储配置文件存在。因此,我创建了一个应用程序池在IIS中对用户“MyUserName输入”的身份,创建用户的配置文件用的帐户登录,并打开选项“加载用户配置文件”(默认情况下是真的反正)。模拟关闭。IIS 7.5应用程序池使用错误的%APPDATA%自定义用户身份
现在我有问题,即%APPDATA%(在C#):
appdataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
解析为c:\windows\system32\inetsrv
,而不是C:\Users\MyUsername\AppData\Roaming
。
UPDATE:更精确地说,上面的C#代码返回一个空字符串,从而使Path.GetFullPath(Path.Combine(appdataDir, "MyAppName"))
把当前路径到我的应用程序的名称,导致c:\windows\system32\inetsrv\MyAppName
。
我知道我在Windows Server 2008 R2的同一Web应用程序之前进行这项工作,现在我在我的Windows 7获得此问题与IIS的同一主要版本7.5
我用相同的程序之前:创建一个新用户,登录的用户创建配置文件和目录APPDATA,然后添加应用程序池用这个身份,并最终加入的web应用到这个池中。
任何想法?
采取的是您的应用程序池配置为经典或集成模式? – Kev 2012-02-29 01:56:27
@Kev:集成模式。 – AndiDog 2012-02-29 05:48:28
我有同样的问题。特别奇怪的是Environment.SpecialFolder.UserProfile的路径工作正常,如果我从那里建立到AppData文件夹的路径,它的工作原理。 – Jason 2012-04-20 20:58:29