Я начал этот вопрос в надежде получить некоторую помощь от сообщества, но в процессе полного объяснения и детализации моей проблемы кажется, что мне удалось решить ее, в том, что кажется законным, не хакерским способом ( скажите, пожалуйста, если я ошибаюсь), поэтому я собираюсь сохранить его здесь в надежде, что это поможет другим.
Вопрос
Я сейчас обновляю свой сайт Visual Studio 2010.NET 4 MVC4 до Visual Studio 2013.NET 4.5 MVC5. Сайт отлично работает при использовании Visual Studio IIS, но когда я перехожу к Windows IIS и устанавливаю пользователя ApplicationPoolIdentity и запускаю сайт, я получаю страницу с сообщением "HTTP-ошибка 503. Услуга недоступна". ApplicationPool останавливается.
Я нашел пару вопросов, задающих одно и то же в StackOverflow, но ни одно из них не имеет приемлемого решения. Один из ответов состоял в том, чтобы щелкнуть правой кнопкой мыши AppPool > AdvancedSettings > LoadUserProfile = FALSE. Это работает, и я пошел с ним на некоторое время, но я только что нашел, что это вызвало проблему с загрузкой внешних скриптов PhantomJS. Я протестировал это, установив AppPoolUser в NetworkService и установив LoadUserProfile в FALSE, который все еще сломал PhantomJS, а затем я установил LoadUserProfile в TRUE и работал.
Итак, я запускаю сайт с помощью NetworkService и все это хорошо, но я хочу иметь возможность использовать ApplicationPoolIdentity к моменту окончания этого обновления, чтобы я мог использовать ApplicationPoolIdentity для создания.
Я проверил EventViewer, и у меня появилось много предупреждений о том, что файлы не могут быть скопированы из
\\?\C:\Users\Default\AppData\Roaming\Microsoft\Templates\LiveContent\Managed\SmartArt
к
\\?\C:\Users\TEMP.IIS APPPOOL.004\AppData\Roaming\Microsoft\Templates\LiveContent\Managed\SmartArt Graphics\1033\TC101793893[[fn=Tabbed Arc]].glox.
Я создал папку под названием APPPOOL.004, затем он жаловался на APPPOOL.005, затем APPPOOL.006, и он просто продолжал идти.
РЕШЕНИЕ
Затем я предоставил Полному разрешению ApplicationPoolIdentity папку C:\Users, снова запустил сайт и все работало, профиль должен быть создан правильно, и мой сайт работает так, как должен. Затем я удалил доступ к C:\Users из ApplicationPoolIdentity, и сайт все равно работает так, как должен.