【发布时间】:2011-10-05 19:14:24
【问题描述】:
首先,这是我关于类似主题的第三个问题..我仍然没有答案,也许只是接近它(见first,second)。
我的 Web 应用程序(IIS 7.5 下的 ASP.NET MVC3)运行 git 来访问一些 github 存储库。在我将我的工作站升级到 Windows SP1 后,它停止工作。原因是git一启动,它实际上就运行ssh.exe与github通信。 ssh.exe 似乎挂起,因此所有应用程序都挂起。
该应用程序使用的应用程序池使用与我相同的进程标识。但是使用 ProcessHacker 我可以看到以下图片:
由于 USERPROFILE 指向 /system32/config/systemprofile ssh.exe 期望有 .ssh 文件夹,其中包含公钥/私钥。由于钥匙不在那里,它挂起。
但是密钥通常在 ~/.ssh 中(在我的例子中是 c:\users\alexander.beletsky.ssh)。一旦我将密钥复制到 /system32/config/systemprofile 应用程序就开始按预期工作。
我的问题是,为什么 w3wp.exe 认为它的配置文件在 /system32/config/systemprofile 中?有可能改变吗?这是应用程序池的预期行为还是我的机器的问题?
等待任何线索!
编辑
应用程序池的加载用户配置文件属性设置为 TRUE。
【问题讨论】:
-
你怎么知道这是你的应用运行的应用池进程?除了验证之外,您可以停止所有其他应用程序池吗?在我的机器上,我验证了您过去问题 wokrs 的解决方案,应用程序池高级设置中只有 bold 字段是 .net 版本 (v4.0)、身份 (obrad) 和特定时间 (TimeSpan [] 数组)。
-
在我的机器上,processhacker 中的该进程具有相同的配置文件文件夹。
标签: asp.net-mvc windows git iis iis-7.5