Aspnetcore: Problema de inicialização de aplicativo em processo

Criado em 25 dez. 2018  ·  3Comentários  ·  Fonte: dotnet/aspnetcore

Olá!
Estou tentando hospedar um aplicativo da web usando o modelo de hospedagem em processo. E...
O aplicativo não pode ser iniciado.
Respostas IIS com 500,30.
Os logs ANCM contêm isso.
Se eu alternar hostingModel para OutOfProcess - tudo está ok.

Meu web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\Dodo.ClientSite.exe" arguments="" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="InProcess">

         <handlerSettings>
                  <handlerSetting name="debugFile" value=".\aspnetcore-debug.log" />
                  <handlerSetting name="debugLevel" value="FILE,TRACE" />
              </handlerSettings>
      </aspNetCore>
   </system.webServer>
</configuration>

Histórico

`` `
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalConfigurationChange 'MACHINE / WEBROOT / APPHOST / RU-DEV-GS-GSITE.EXT.DEV.DODOIS.COM'
[aspnetcorev2.dll] Interrompendo o aplicativo '/ LM / W3SVC / 340 / ROOT'
[aspnetcorev2_inprocess.dll] Interrompendo o thread do inspetor de arquivos
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalStopListening
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: Terminate
[aspnetcorev2.dll] Inicializando logs para 'C: \ Arquivos de programas \ IIS \ Asp.Net Core Module \ V2 \ aspnetcorev2.dll'. Id do processo: 9476 .. Versão do arquivo: 12.2.18316.0. Descrição: Módulo IIS ASP.NET Core V2. Confirmar: ce8cf65589734f82b0536c543aba5bd60d0a5a98.
[aspnetcorev2.dll] Resolvendo parâmetros hostfxr para o aplicativo: '. \ Dodo.ClientSite.exe' argumentos: '' caminho: 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \'
[aspnetcorev2.dll] Localização conhecida do dotnet.exe: ''
[aspnetcorev2.dll] O caminho do processo '. \ Dodo.ClientSite.exe' não é dotnet, tratando o aplicativo como independente ou portátil com bootstrapper
[aspnetcorev2.dll] Verificando application.dll em 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ Dodo.ClientSite.dll'
[aspnetcorev2.dll] Verificando hostfxr.dll em 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ hostfxr.dll'
[aspnetcorev2.dll] hostfxr.dll encontrou o aplicativo local em 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ hostfxr.dll', tratando o aplicativo como portátil com iniciador
[aspnetcorev2.dll] Resolvendo caminho absoluto para dotnet.exe a partir de 'dotnet'
[aspnetcorev2.dll] Invocando where.exe para localizar dotnet.exe
[aspnetcorev2.dll] onde a invocação de.exe retornou: 'C: \ Program Filesdotnetdotnet.exe
C: \ Arquivos de programas (x86) dotnetdotnet.exe
'
[aspnetcorev2.dll] Tipo de bitness do processo atual detectado como isX64 = 1
[aspnetcorev2.dll] Processando entrada 'C: \ Program Filesdotnetdotnet.exe'
[aspnetcorev2.dll] Tipo binário 6
[aspnetcorev2.dll] Encontrado dotnet.exe por meio da invocação where.exe em 'C: \ Arquivos de programasdotnetdotnet.exe'
[aspnetcorev2.dll] Resolvendo o caminho absoluto para hostfxr.dll de 'C: \ Arquivos de programasdotnetdotnet.exe'
[aspnetcorev2.dll] hostfxr.dll localizado em 'C: \ Arquivos de programasdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll'
[aspnetcorev2.dll] Opções de hostfxr analisadas: localização dotnet: 'C: \ Arquivos de programasdotnetdotnet.exe' caminho de hostfxr: 'C: \ Arquivos de programasdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll' argumentos:
[aspnetcorev2.dll] Argumento [0] = 'C: \ Arquivos de programasdotnetdotnet.exe'
[aspnetcorev2.dll] Argumento [1] = 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ Dodo.ClientSite.dll'
[aspnetcorev2.dll] c: \ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ commonlib \ fileoutputmanager. cpp: 142 Falha na operação com LastError: 32 HR: 0x80070020
[aspnetcorev2.dll] Carregando manipulador de solicitação: 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ aspnetcorev2_inprocess.dll'
[aspnetcorev2.dll] Criando aplicativo manipulador
[aspnetcorev2_inprocess.dll] Inicializando logs para 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ aspnetcorev2_inprocess.dll'. Id do processo: 9476 .. Versão do arquivo: 12.2.18316.0. Descrição: manipulador de solicitações do IIS ASP.NET Core Module V2. Confirmar: ce8cf65589734f82b0536c543aba5bd60d0a5a98.
[aspnetcorev2_inprocess.dll] Aguardando inicialização
[aspnetcorev2_inprocess.dll] Iniciando thread de trabalho em processo
[aspnetcorev2_inprocess.dll] Resolvendo parâmetros hostfxr para o aplicativo: '. \ Dodo.ClientSite.exe' argumentos: '' caminho: 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \'
[aspnetcorev2_inprocess.dll] Local conhecido do dotnet.exe: 'C: \ Program Filesdotnetdotnet.exe'
[aspnetcorev2_inprocess.dll] O caminho do processo '. \ Dodo.ClientSite.exe' não é dotnet, tratando o aplicativo como independente ou portátil com bootstrapper
[aspnetcorev2_inprocess.dll] Verificando application.dll em 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ Dodo.ClientSite.dll'
[aspnetcorev2_inprocess.dll] Verificando hostfxr.dll em 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ hostfxr.dll'
[aspnetcorev2_inprocess.dll] hostfxr.dll encontrou o aplicativo local em 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ hostfxr.dll', tratando o aplicativo como portátil com iniciador
[aspnetcorev2_inprocess.dll] Resolvendo o caminho absoluto para hostfxr.dll de 'C: \ Program Filesdotnetdotnet.exe'
[aspnetcorev2_inprocess.dll] hostfxr.dll localizado em 'C: \ Arquivos de programasdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll'
[aspnetcorev2_inprocess.dll] Opções de hostfxr analisadas: localização dotnet: 'C: \ Arquivos de programasdotnetdotnet.exe' caminho de hostfxr: 'C: \ Arquivos de programasdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll' argumentos:
[aspnetcorev2_inprocess.dll] Argumento [0] = 'C: \ Arquivos de programasdotnetdotnet.exe'
[aspnetcorev2_inprocess.dll] Argumento [1] = 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com. \ Dodo.ClientSite.dll'
[aspnetcorev2_inprocess.dll] Gerenciado lançou uma exceção -1073741819
[aspnetcorev2_inprocess.dll] Iniciando a sequência de desligamento 1
[aspnetcorev2_inprocess.dll] A espera do thread Clr terminou: clrThreadExited: 1
[aspnetcorev2_inprocess.dll] c: \ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ commonlib \ fileoutputmanager. cpp: 142 Falha na operação com LastError: 32 HR: 0x80070020
[aspnetcorev2_inprocess.dll] Log de eventos: 'Application' / LM / W3SVC / 340 / ROOT 'com raiz física' E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ 'atingiu exceção gerenciada inesperada , código de exceção = '0xc0000005'. Por favor, verifique os logs stderr para mais informações. '
Mensagem de registro de evento final.
[aspnetcorev2_inprocess.dll] Interrompendo o thread de trabalho em processo
[aspnetcorev2_inprocess.dll] Parando CLR
[aspnetcorev2_inprocess.dll] Log de eventos: 'Application' / LM / W3SVC / 340 / ROOT 'com raiz física' E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ 'falhou ao carregar clr e aplicativo gerenciado. O thread de trabalho CLR saiu prematuramente '
Mensagem de registro de evento final.
[aspnetcorev2_inprocess.dll] Exceção 'InvalidOperationException' capturada em c: \ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ inprocessrequesthandler \ inprocessapplication. cpp: 350
[aspnetcorev2_inprocess.dll] Falha no HRESULT retornado: 0x8007023e em c: \ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ inprocessrequesthandler \ dllmain. cpp: 120
[aspnetcorev2_inprocess.dll] Iniciando o monitoramento app_offline no aplicativo 'E: \ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \'
[aspnetcorev2_inprocess.dll] Iniciando o thread do inspetor de arquivos
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalConfigurationChange 'MACHINE / WEBROOT / APPHOST / RU-DEV-GS-GSITE.EXT.DEV.DODOIS.COM'
[aspnetcorev2.dll] Interrompendo o aplicativo '/ LM / W3SVC / 340 / ROOT'
[aspnetcorev2_inprocess.dll] Interrompendo o thread do inspetor de arquivos
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalStopListening
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: Terminate
`` ``

area-servers servers-iis

Comentários muito úteis

Seu Program.Main está lançando uma exceção. Provavelmente é devido ao problema CurrentDirectory: # 4206. Aqui está nossa solução alternativa recomendada por enquanto: https://github.com/aspnet/Docs/blob/master/aspnetcore/host-and-deploy/aspnet-core-module/samples_snapshot/2.x/CurrentDirectoryHelpers.cs. Isso será corrigido em um patch.

Estou tendo problemas para aplicar a correção sugerida e resolver o problema que não sei se deve ser corrigido na versão atual .Net Core 2.2, pois ainda estou recebendo o mesmo erro - respostas do IIS com 500.30 - ao executar o InProcess. Habilitando os logs, pude ver que o problema está relacionado ao mesmo problema, pois o diretório retornado não é o diretório correto. Em vez disso, ele retornou o caminho de onde o serviço IIS é executado no sistema. Para aplicar a correção, copiei CurrentDirectoryHelper.cs para o meu projeto e chamei-o de Program.cs antes de definir o SetBasePath,

logger.LogWarning($"Applying Patch to fix Current Directory issue. Current Directory: {Environment.CurrentDirectory}"); //TODO: the line below can be removed when the bug with InProcess method is fixed (more details, follow the class definition and read the comments) CurrentDirectoryHelpers.SetCurrentDirectory(); logger.LogWarning($"Fix applied. Current Directory now is: {Environment.CurrentDirectory}");
Aplicar a correção como tal ainda produz o mesmo resultado.
O aplicativo começa bem se for executado como OutOfProcess e se for executado no IIS Express

Alguém pode me ajudar com isso por favor?

Todos 3 comentários

Seu Program.Main está lançando uma exceção. Provavelmente é devido ao problema CurrentDirectory: # 4206. Aqui está nossa solução alternativa recomendada por enquanto: https://github.com/aspnet/Docs/blob/master/aspnetcore/host-and-deploy/aspnet-core-module/samples_snapshot/2.x/CurrentDirectoryHelpers.cs. Isso será corrigido em um patch.

Presumo que a solução alternativa tenha resolvido o seu problema. Sinta-se à vontade para reabrir caso contrário.

Seu Program.Main está lançando uma exceção. Provavelmente é devido ao problema CurrentDirectory: # 4206. Aqui está nossa solução alternativa recomendada por enquanto: https://github.com/aspnet/Docs/blob/master/aspnetcore/host-and-deploy/aspnet-core-module/samples_snapshot/2.x/CurrentDirectoryHelpers.cs. Isso será corrigido em um patch.

Estou tendo problemas para aplicar a correção sugerida e resolver o problema que não sei se deve ser corrigido na versão atual .Net Core 2.2, pois ainda estou recebendo o mesmo erro - respostas do IIS com 500.30 - ao executar o InProcess. Habilitando os logs, pude ver que o problema está relacionado ao mesmo problema, pois o diretório retornado não é o diretório correto. Em vez disso, ele retornou o caminho de onde o serviço IIS é executado no sistema. Para aplicar a correção, copiei CurrentDirectoryHelper.cs para o meu projeto e chamei-o de Program.cs antes de definir o SetBasePath,

logger.LogWarning($"Applying Patch to fix Current Directory issue. Current Directory: {Environment.CurrentDirectory}"); //TODO: the line below can be removed when the bug with InProcess method is fixed (more details, follow the class definition and read the comments) CurrentDirectoryHelpers.SetCurrentDirectory(); logger.LogWarning($"Fix applied. Current Directory now is: {Environment.CurrentDirectory}");
Aplicar a correção como tal ainda produz o mesmo resultado.
O aplicativo começa bem se for executado como OutOfProcess e se for executado no IIS Express

Alguém pode me ajudar com isso por favor?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

markrendle picture markrendle  ·  3Comentários

ipinak picture ipinak  ·  3Comentários

UweKeim picture UweKeim  ·  3Comentários

dotNETSanta picture dotNETSanta  ·  3Comentários

ermithun picture ermithun  ·  3Comentários