Global.asax não carregar para o site asp.net pré-compilado
-
06-07-2019 - |
Pergunta
Eu usei o Visual Studio 2008 para publicar o meu site asp.net. Quando eu abrir o site no servidor (Windows Server 2008), notei que o código no global.asax não estava funcionando. Meu corpo Global.asax é semelhante a:
<%@ Application Language="C#" %>
<script runat="server">
protected void Application_Start()
{
// Initialize some site settings like a task scheduler
}
protected void Application_End(object sender, EventArgs e)
{
// Perform some clean up code
}
</script>
Há uma App_global.asax.dll na pasta bin sites compilados, mas isso não parece ajudar.
Existe uma opção de configuração que eu estou perdendo? Removendo o App_global.asax.dll e usando o global.asax original com o site pré-compilado fina funciona.
Solução
A única resposta que eu encontrei é para incluir global.asax (com lógica) na pasta de saída compilado.
Outras dicas
Eu tive um problema semelhante e conseguiu resolvê-lo por remover o arquivo PreCompiledApp.config da raiz do site pasta ??strong> em nosso servidor de desenvolvimento.
Eu acho que isso pode ter sido transferida para o servidor ao publicar a partir do Visual Studio.
Existem algumas soluções em este post que corrige o problema para algumas pessoas, mas nem todos. Você pode experimentá-los e ver se ele funciona para você.
Certifique-se de que você tem todos os necessaries DLLs incluídas em seu projeto, também é uma boa idéia, para compilar seus projetos, versões DLLs comparar, e se estes não corresponder, substituí-los manualmente em cada pasta, para que possa ser Certifique-se de que você está executando a versão direita DLLs.
Isso funcionou para mim.
Eu tive o problema semelhante após a publicação do projeto ASP.NET pré-compilados sob .NET 4 e IIS 7.0. aplicação global não estava funcionando no início do aplicativo, em seguida, depois de colocar PreCompiledApp.config ao servidor o meu problema foi resolvido e compilado arquivo global chamado App_global.asax.dll veio para a frente do ciclo de vida e em execução.
Eu acho que renomeando Application_Start () para Application_OnStart () iria resolver o problema.