Existem várias postagens sobre isso e eu tentei muitas coisas até agora. Mas sem sucesso. Eu mesmo, desenvolvedor da Winforms, basicamente comecei a trabalhar nessas coisas da Web alguns dias atrás, enquanto minha empresa tomava iniciativas na Web.
Eu tenho um projeto ASP.Net e quero hospedá-lo no IIS local. Nas Project properties -> Web
configurações eu escolhi Use Local IIS Server
e deu um URL como localhost/MyApp
. Tentei acessá-lo no meu navegador firefox e recebi um erro comoHTTP Error 503. The service is unavailable.
Anteriormente, recebi muitos outros erros e corrigi-os um por um. Mas impressionado com este. Estas são as configurações que tenho no meu projeto
- Conjunto de aplicativos definido como ASP.Net v4.0 Classic
- A
Enable 32 bit Application
propriedade Pool de aplicativos é verdadeira - Pool de aplicativos iniciado
- Propriedade de construção do projeto definida para
Any CPU
a estrutura de Destino
Mas eu gostaria de mencionar um comportamento estranho. A seguir é algo que eu estou enfrentando
- Pool de aplicativos iniciado
- Eu tento acessar meu site local (dando url como
localhost/MyApp
) - Eu recebo o erro como
HTTP Error 503. The service is unavailable
- O pool de aplicativos está parado
Eu vi o link a seguir e já tentei. Pelo comportamento acima, cheguei aqui . De acordo com este link, o nome do computador não deve estar .
nele. Eu não tenho nenhum .
no nome do meu computador, mas tenho -
nele. Também o meu nome de domínio contém .
. Além disso, não posso alterar essas configurações, pois é o laptop do meu escritório e nossas configurações de TFS estão vinculadas aos nossos nomes de domínio e computador.
Alguém pode me ajudar a entender o que está acontecendo? Por favor me guie. Obrigado.
Editar
Eu tenho o seguinte código Global.asax
. Application_BeginRequest
O método está vazio no mesmo arquivo.
protected override void Application_Start(object sender, EventArgs e)
{
base.Application_Start(sender, e);
String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
System.Environment.GetEnvironmentVariable("PATH"));
System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
MyAppLog.Initialize();
MyAppLog.WriteMessage("Application Started");
}
Atualizar
De acordo com as sugestões no comentário, sou capaz de executar o site da Cassini.
Enable 32 bit Application
mas está usando DLLs apenas de 32 bits?Any CPU
. Então, eu acho que as DLLs usadas não devem ser um problema. Consulte a edição do código Global.asax. ObrigadoRespostas:
Um possível motivo para isso acontecer é que o Pool de aplicativos no IIS está configurado para ser executado em alguma conta personalizada e essa conta não existe ou uma senha incorreta foi fornecida ou a senha foi alterada. Veja as propriedades avançadas do pool de aplicativos no IIS para a conta que ele usa.
Além disso, o Log de Eventos pode conter mais informações sobre o motivo pelo qual o Pool de Aplicativos está parando imediatamente na primeira solicitação.
fonte
Ok, eu tenho outra solução para um caso específico: se você usa o WINDOWS 10 e atualizou recentemente (com o pacote de atualização de aniversário), você precisa seguir as etapas abaixo:
Windows Event Viewer
- pressione Win + R e digite: eeventvwr
, em seguida, pressione ENTER.Windows Event Viewer
clique emWindows Logs
->Application
.IIS-W3SVC-WP
na janela do meio.Control Panel
->Program and Features
e, dependendo de qual dll não pode ser carregada, é necessário reparar outro módulo:rewrite.dll
- localize o IIS 2 Rewrite Module 2 e clique emChange
->Repair
aspnetcore.dll
- encontre o Microsoft .NET Core 1.0.0 - VS 2015 Tooling ... e clique emChange
->Repair
.fonte
The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.
então eu instalei o Select Server SidePara minha situação, minha senha de login foi alterada, enquanto o pool de aplicativos ainda usa a antiga. Então, basta clicar em "Configurações avançadas" do seu pool de aplicativos e redefinir sua "Identidade".
fonte
Eu estava enfrentando o mesmo problema e depurei-o usando os logs de eventos. Primeiro, dizia que: "A descrição para o ID do evento 5059 da fonte Microsoft-Windows-WAS não foi encontrada".
Em seguida, ativei o WAS usando ativar / desativar os recursos do Windows . Então eu vi isso em eventvwr "Microsoft-Windows-DistributedCOM não pode ser encontrado".
Por fim, desisti e excluí o Pool de aplicativos (que costumava parar de acessar o site) e o criei novamente, como ele é. Isso resolveu o problema.
fonte
appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
Para quem vem aqui com o Windows 10 e depois de atualizá-los para a atualização de aniversário, verifique este link. Isso me ajudou:
https://orcharddojo.net/blog/trou Troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update
Caso o link fique inoperante: Se o log de eventos mostrar que o aspnetcore.dll, reescreva.dll (na maioria das vezes, mas também podem ser outros) falhou ao carregar, você deverá reparar os itens ausentes.
Aqui estão dois problemas específicos que enfrentamos até agora e como corrigi-los, mas você pode encontrar outros completamente diferentes:
fonte
Na maioria das vezes, ocorreu devido à configuração do AppPool.
Verifique o seguinte para resolver isso
As imagens a seguir mostram essas configurações no IIS
fonte
Se você possui o McAfee HIPS e se vir o seguinte erro no log do aplicativo visualizador de eventos:
Em seguida, o seguinte resolveu o problema no meu caso: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
Citação da página:
fonte
No meu caso, verifiquei os logs de eventos e encontrei o erro Não foi possível ler o arquivo de configuração 'tentando ler os dados de configuração do arquivo' \\? \ ', Número da linha' 0 '. O campo de dados contém o código de erro.
O código de erro foi 2307.
Excluí todos os arquivos em C: \ inetpub \ temp \ appPools e reiniciei o iis. Isso corrigiu o problema.
fonte
Eu tive uma questão semelhante. Eu o resolvi adicionando meu usuário à diretiva "Fazer logon como um trabalho em lotes" em "Diretiva de segurança local"> "Diretivas locais"> "Atribuição de direitos do usuário".
fonte
Quando adicionei o serviço pela primeira vez e criei o pool de aplicativos para ele. Eu fiz "iisreset" no prompt de comando e funcionou.
fonte
Se você pode executar o site no depurador do Visual Studio, poderá ver onde no seu código o pool de aplicativos está travando. No meu caso, foi uma função chamada recursivamente um número ilimitado de vezes e causou um estouro de pilha. Nota: o log de eventos do Windows e os logs do IIS não foram úteis para diagnosticar o problema.
fonte
Eu tive o mesmo problema com o iis 8.5. Depois de pesquisar o eventViewer no Windows Logs -> applications, percebi que estou tendo um erro de permissão para o arquivo machine.config da estrutura .net localizado em "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config ". Conceder uma permissão para IIS_IUSRS resolveu meu problema (clique com o botão direito do mouse no arquivo -> propriedades -> segurança -> editar -> adicionar -> IIS_IUSRS)
fonte
Eu estava enfrentando esse erro e, no meu caso, a causa foi que, há algum tempo, modifiquei a senha do usuário e o erro 503 não apareceu até reiniciar o pool de aplicativos.
Então, eu a corrigi definindo a nova senha em Pools de aplicativos / Configurações avançadas / Identidade / [...] / Definir ... / Senha / Confirmar senha
fonte
Eu tive um problema semelhante, todos os meus pools de aplicativos paravam sempre que uma solicitação da Web era feita a eles. Embora eu estivesse recebendo o seguinte erro no Visualizador de Eventos:
O que me disse que havia erros no application.config em:
No meu cenário, editei o web.config na implantação com um elemento que o IIS claramente não gosta, o applicationHost.config raspou o web.config e inseriu esse elemento inválido e não resolveria até que eu o removesse manualmente
fonte
Além das etapas descritas neste link da resposta de Orhan , pode ser necessário remover adicionalmente o módulo nativo, vá para Gerenciador do IIS> Raiz do servidor> Módulos> Configurar módulos nativos. Selecione MfeEngine e, em seguida, selecione Remover.
fonte
Alterar o "Modo de pipeline gerenciado" de "Clássico" para "Integrado" funcionou para mim. Pode ser alterado em Pools de aplicativos -> Configurações básicas
fonte
Só para acrescentar a estas
Anniversary Update
questões (graças Microsoft) se o arquivo que está faltando écgi.dll
, ou seja, o seuEvent Viewer
temEntão, para corrigir isso:
IIS Manager
Connections
painel (normalmente o nome do seu PC)Management
, você deve terWeb Platform Installer
Products
cgi
, pressione<Enter>
IIS: CGI
, cliqueAdd
à direita e, finalmente,Install
na parte inferiorfonte