IIS 7.5 с идентификатором процесса, установленным для пользователя, имеет неправильный ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ

Прежде всего, это мой третий вопрос по аналогичной теме ... и все же у меня нет ответа, возможно, только приближаюсь к нему (см. сначала, второй).

Мое веб-приложение (ASP.NET MVC3 под IIS 7.5) запускает git для доступа к некоторым репозиториям github. После того, как я обновил свою рабочую станцию ​​до Windows SP1, она перестала работать. Причина в том, что сразу после запуска git запускает ssh.exe для связи с github. Кажется, что ssh.exe зависает, поэтому все приложения зависают.

Пул приложений, используемый этим приложением, использует тот же идентификатор процесса, что и я. Но с помощью ProcessHacker я могу увидеть следующую картину:

среда процесса w3wp

Поскольку USERPROFILE указывает на / system32 / config / systemprofile, у ssh.exe должна быть папка .ssh, содержащая открытые / закрытые ключи. Поскольку ключей нет, он зависает.

Но ключи обычно находятся в ~ / .ssh (в моем случае c: \ users \ alexander.beletsky.ssh). Как только я скопировал ключи в / system32 / config / systemprofile, приложение начало работать как положено.

У меня вопрос: почему w3wp.exe считает, что его профиль находится в / system32 / config / systemprofile? можно это изменить? это ожидаемое поведение для пула приложений или просто проблема моей машины?

Жду подсказок!

ИЗМЕНИТЬ

Свойство «Загрузить профиль пользователя» пула приложений имеет значение ИСТИНА.


person Alexander Beletsky    schedule 05.10.2011    source источник
comment
Откуда вы знаете, что это IS процесс пула приложений, в котором работает ваше приложение? Можете ли вы остановить все другие пулы приложений, кроме этого, для проверки? На моем компьютере, где я проверял это решение для ваших прошлых вопросов, только поле жирным шрифтом в расширенных настройках пула приложений: версия .net (v4.0), идентификатор (obrad) и конкретное время (TimeSpan [] Множество).   -  person Goran Obradovic    schedule 05.10.2011
comment
На моей машине этот процесс в processhacker имеет ту же папку профиля.   -  person Goran Obradovic    schedule 05.10.2011


Ответы (2)


ssh.exe фактически использует переменную среды HOME. Проверьте, правильно ли он установлен.

person Mike Chaliy    schedule 05.10.2011
comment
точно! как только я поставил такой патч, он заработал: github.com/alexanderbelets совершить / - person Alexander Beletsky; 06.10.2011
comment
Вероятно, вам нужно проверить, существует ли переменная HOME, прежде чем переопределить ее. - person Mike Chaliy; 06.10.2011
comment
Итак, вам, вероятно, следует отредактировать свой вопрос, чтобы отметить, что проблема была вызвана не IIS, а установкой SP1 в Windows ПОСЛЕ того, как git уже был установлен. Я установил git после SP1, поэтому мой HOME не был сброшен, и все работает. - person Goran Obradovic; 06.10.2011

Поскольку моя машина, на которой это работает, имеет такое же значение на странице окружения хакера процесса, и все же

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) имеет значение моего пользовательского appData, а у меня SP1, я думаю, что это должно быть связано не с ним, а с чем-то в вашей конфигурации, что могло быть изменено. Убедитесь, что ваш inetmgr правильно настроил идентификацию для вашего приложения. Откройте C: \ inetpub \ temp \ appPools \ yourAppPoolName \ yourAppPoolName.config и проверьте, существует ли этот параметр:

<configuration>
    ....
  <system.applicationHost>
    <sites>
      <site name="Default Web Site" id="1" serverAutoStart="true">
       <application path="/yourAppPath" applicationPool="yourAppPoolName">
                <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\yourAppPath" userName="yourUserName" password="[enc:AesProvider:someHashHere=:enc]" />
       </application>
       ...
      </site>
    </sites>
  <system.applicationHost>

<configuration>

Если нет, вы можете настроить его там (введите пароль в виде обычного текста или вы можете настроить его с помощью inetmgr, как я описал в своем ответе на ваш другой вопрос).

person Goran Obradovic    schedule 05.10.2011