После борьбы со всеми этими проблемами в пуле приложений во II я нашел проблему и решение. Это может вам помочь.
Каждый пул приложений на каждом веб-сайте Microsoft Internet Information Server создает собственную учетную запись пользователя и папку в каталоге «c: \ Users» при создании и первом запуске пула. Это фактически виртуальная учетная запись пользователя и должна быть названа для пула приложений, назначенного вашему веб-приложению в IIs. В большинстве сред разработки это веб-сайт по умолчанию или «DefaultAppPool». Он использует эту временную учетную запись пользователя для запуска пула. Каждый веб-сайт должен иметь именованную учетную запись пула пользователей. Эта папка User используется пулом и ASP.NET для кэширования и записи файловых ресурсов и других вещей, используемых IIs, ASP.NET и этой виртуальной учетной записью.
В некоторых установках люди видят не эту папку, а папку "TEMP" (как у вас) при доступе к веб-сайту IIs и использовании пула.
Если вместо этого вы видите папку «TEMP» в папке «Пользователи», у вас есть испорченная учетная запись пула приложений во II и в реестре. Пул создает папку TEMP в качестве резервной копии для этой виртуальной учетной записи, которая может не иметь правильной настройки безопасности. У меня был именно такой сценарий.
Чтобы исправить это перейдите в реестр в:
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList
Проверьте, есть ли у вас учетная запись пользователя SID с расширением «.bak» для учетной записи пользователя DefaultAppPool. Если это так, удалите его и перезагрузите компьютер. Протестируйте свой сайт снова, убедившись, что он действительно настроен на использование DefaulAppPool. Теперь он должен воссоздать папку «DefaultAppPool» в «Пользователи», заново создать запись реестра для пользователя DefaulAppPool, и ваша ошибка должна исчезнуть.
Вы можете удалить папку пользователя TEMP в этой точке в папке Users. (Имейте в виду, что если ваше веб-приложение хранит кэшированную информацию, критически важную для пользователей веб-сайта, некоторые из них, возможно, придется вставить в новую пользовательскую папку DefaultAppPool. Но для большинства из нас просто удалите ее.)
Я также обнаружил, что мне пришлось добавить эту странную учетную запись пула виртуальных приложений в мою локальную базу данных, чтобы рабочий процесс и пул приложений могли иметь права на получение данных из SQL Server: просто зайдите в SQL Server и под логинами добавьте «IIs». AppPool \ DefaultAppPool ", а затем назначьте его в качестве пользователя для ваших баз данных.
(кстати, кто бы ни придумал эту систему учетных записей пула виртуальных приложений, она чокнутая .... она слишком сложна и запутанна, чтобы разобраться)
После того, как я сделал это, все мои ошибки переполнения стека исчезли в Visual Studio для моего веб-приложения, все подключения к данным сработали отлично, все права на запись в профиль пользователя по умолчанию сохранены правильно, а также все перезапуски и сбой пула приложений. во II закончилась полностью. :)