O fuso horário é definido no nível do servidor, portanto, não há como substituí-lo por site. A maneira de lidar com isso seria do seu código. Defina um fuso horário no seu web.config e calcule o fuso horário em tempo real baseado nisso.
Existe uma maneira de ter vários sites em execução no IIS com informações de fuso horário diferentes?
Por exemplo: O Windows Server local está sendo executado no CST. Eu gostaria de um site (aplicativo) que é executado no CST e um segundo site (aplicativo) que é executado em EST.
Isso é possível?
Sim! Mas não é o IIS que vai fazer isso, você precisará programar o aplicativo para fazer isso.
Como alternativa, se o aplicativo não gostar do GMT e das compensações de fuso horário, você pode tentar convencê-lo a usar fusos horários diferentes executando cada aplicativo em pools de aplicativos diferentes, executando cada pool de aplicativos como um usuário diferente e definindo o configurações regionais para cada identidade do pool de aplicativos para o fuso horário.
Você precisaria brincar com as configurações de registro de data e hora do OLEAUT e esperar que ele funcione bem ... Os artigos a seguir documentam alguns dos detalhes. (em suma: personifique alguém que usa as configurações desejadas, antes de tentar interpretá-las). YMMV.
Por que diabos?
A única coisa que o IIS faz com o fuso horário é praticamente usá-lo para determinar como gravar o arquivo de log, se você quiser que não seja escrito no UTC, o que é altamente recomendado.
Qualquer outra coisa não é o IIS executando um fuso horário, mas seu aplicativo depende de algumas configurações do usuário, o que é um estilo ruim para começar. Toda apresentação não deve usar uma informação do lado do servidor, mas uma configuração específica do usuário para manipulação de apresentação, ou informações de fuso horário de código.
Eu sinto muita falta de entender qual é a pergunta aqui - por mais que um aplicativo da Web não tenha um conceito de fuso horário de usuário local para começar, programação sábia.
Tags timezone localization iis