首先,这是我关于类似主题的第三个问题..我仍然没有答案,也许只是接近它(参见 first , second )。
我的网络应用程序(IIS 7.5 下的 ASP.NET MVC3)运行 git 来访问一些 github 存储库。在我将工作站升级到 Windows SP1 后,它停止工作了。原因是git一启动,其实是运行ssh.exe来和github通信的。 ssh.exe 似乎挂起,因此所有应用程序都挂起。
该应用程序使用的应用程序池使用与我相同的进程标识。但是使用 ProcessHacker 我可以看到下图:
因为 USERPROFILE 指向/system32/config/systemprofile ssh.exe 期望有 .ssh 文件夹,其中包含公钥/私钥。由于 key 不在那里,它挂起。
但是 key 通常在 ~/.ssh 中(在我的例子中是 c:\users\alexander.beletsky.ssh)。一旦我将 key 复制到/system32/config/systemprofile 应用程序就开始按预期工作。
我的问题是,为什么 w3wp.exe 认为它的配置文件在/system32/config/systemprofile 中?有可能改变吗?这是应用程序池的预期行为还是我机器的问题?
等待任何线索!
编辑
应用程序池的加载用户配置文件属性设置为 TRUE。
最佳答案
ssh.exe
实际上是在使用 HOME 环境变量。检查是否设置正确。
关于asp.net-mvc - 进程标识设置为用户的 IIS 7.5 有错误的 USERPROFILE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666423/