2015-11-24 17 views
7

Non riesco più a creare file di registro con ASP.NET RC1 e HttpPlatformHandler.Perché HttpPlatformHandler non creerà i file di registro?

Questo è l'avviso nel registro eventi:

The description for Event ID 1004 from source HttpPlatformHandler cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. 

If the event originated on another computer, the display information had to be saved with the event. 

The following information was included with the event: 

Warning: Could not create stdoutLogFile , ErrorCode = -2147024843. 

versioni software pertinenti:

  • Microsoft Http Handler Platform 1.2
  • di Windows Server 2012 R12
  • ASP.NET 5 RC1 applicazione.

Ho provato vari valori per l'argomento stdoutLogFile. Sto utilizzando la (scarso) documenation da http://www.iis.net/learn/extensions/httpplatformhandler/httpplatformhandler-configuration-reference

ho provato:

  • \ C:? \ Temp \ wtlogs \
  • c: \ temp \ wtlogs \
  • alcun valore (per tentare di accedere nella directory "logs" che i siti accanto wwwroot e AppRoot)

web.config:

<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" /> 
    </handlers> 
    <httpPlatform processPath="..\approot\prod.cmd" arguments="" stdoutLogEnabled="true" stdoutLogFile="\\?c:\temp\wtlogs\" startupTimeLimit="3600" forwardWindowsAuthToken="false"></httpPlatform> 
    </system.webServer> 
</configuration> 

ho i permessi impostati: enter image description here

E la piscina applicazione è:

enter image description here

+0

Puoi provare alcune altre cose: (1) Specificare un nome file * effettivo *, ad es. 'Stdout.log'. (2) Usa il percorso predefinito che è '.. \ logs \ stdout.log' (e come tale registra in una cartella parallela alle cartelle' wwwroot' e 'approot'). (3) Puoi provare a dare il permesso di scrittura a tutti gli utenti? – poke

+1

poke, ho provato il nome completo, ho dato le autorizzazioni complete a "Utenti". Ciò che ha funzionato sta utilizzando il percorso predefinito (.. \ logs \ stdout.log). Dovresti aggiungerlo come risposta. –

+0

ho lo stesso problema, ma già risolto in [IISIntegration # 45] (https://github.com/aspnet/IISIntegration/issues/45) – zhengchun

risposta

0

Si consiglia di utilizzare un nome di file come stdoutLogFile valore, provare a utilizzare c:\temp\wtlogs\stdout.log

+0

Ho provato questo: C: \ temp \ wtlogs \ stdout.log, senza fortuna . –

+0

Che cos'è il messaggio del registro eventi quando si prova con il nome del file? –

+0

Come nella mia domanda originale. L'unica cosa che potevo mettermi al lavoro era usare .. \ logs \ stdout.log. –

3

Questa configurazione è creazione di un file di registro nella cartella 'c: \ temp'. Devi prima creare la cartella 'c: \ temp'.

<aspNetCore processPath="dotnet" arguments=".\Api.dll" stdoutLogEnabled="true" stdoutLogFile="c:\temp\" forwardWindowsAuthToken="false" /> 
Problemi correlati