Чтобы прояснить заголовок.
При создании пула приложений в IIS вы даете ему имя. Затем вы можете установить идентификатор ApplicationPoolIdentiy.
Затем Windows создает этого волшебного пользователя, которого вы не видите. Предположим, что имя пула приложений - это MyTestAppPool, поэтому в итоге вы получите имя пользователя MyTestAppPool (IIS AppPool\MyTestAppPool)
Когда это произойдет, Windows использует серверную текущую локаль. Скажем, в то время это были США.
Затем вы перейдете в Великобританию. Пока есть копия, это не копирует этих волшебных пользователей, которых я нашел. Таким образом, ваш сервер настроен на Великобританию, а ваш MyTestAppPool установлен в США.
Итак, когда веб-сайт работает, и вам нужно сказать, что нужно форматировать что-то в валюте в правильной локали, вы получаете валюту США из-за AppPool вместо валюты Великобритании.
Есть ли способ изменить языковой стандарт пользователя AppPool?
Единственный способ, который я нашел, - удалить пул приложений и снова заново создать его после того, как вы установите локаль сервера на то, что вы хотите. Что делать, если я не хочу этого делать.
Что делать, если мне нужно иметь несколько веб-сайтов, работающих в разных локалиях, как бы я установил локаль пользователя AppPoolIdentity для каждого из них без необходимости менять сервер до того, что я хочу, прежде чем создавать приложение?