为什么HttpPlatformHandler不会创建日志文件?

时间:2015-11-24 18:26:46

标签: c# asp.net iis asp.net-core

我无法再使用ASP.NET RC1和HttpPlatformHandler创建日志文件。

这是事件日志中的警告:

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.

相关软件版本:

  • Microsoft Http Platform Handler 1.2
  • Windows Server 2012 R12
  • ASP.NET 5 RC1应用程序。

我已经为stdoutLogFile参数尝试了各种值。我正在使用http://www.iis.net/learn/extensions/httpplatformhandler/httpplatformhandler-configuration-reference

中的(差)文档

我试过了:

  • \?c:\ temp \ wtlogs \
  • C:\ TEMP \ wtlogs \
  • 没有价值(尝试将其登录到wwwroot和approot旁边的网站的“logs”目录中)

的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>

我已设置权限: enter image description here

应用程序池是:

enter image description here

2 个答案:

答案 0 :(得分:4)

此配置在'c:\ temp'文件夹中创建一个日志文件。 您必须首先创建'c:\ temp'文件夹。

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

答案 1 :(得分:0)

您应该使用stdoutLogFile值作为文件名,尝试使用c:\temp\wtlogs\stdout.log