iisnode无法处理http响应状态行

时间:2012-10-22 12:15:23

标签: node.js iisnode

我在Windows 2008 R2和Node 0.8上使用IISnode 0.1.21 x64

我的应用程序使用4个线程成功运行。但是过了一段时间(比如说3-4个小时),响应没有从IISnode到客户端,并且用户没有获取页面上的数据(但应用程序的其余部分正在运行)。我尝试在IISnode文件夹中创建一个日志,但没有从那里得到任何东西。

如果我从任务管理器中删除了一个node.exe进程,则应用程序将开始正常运行。几个小时之后,我又回到原点。

我收到了ETW日志,这就是它显示的内容:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
        <Provider Guid="{1040dfc4-61db-484a-9530-584b2735f7f7}" />
        <EventID>0</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x0</Keywords>
        <TimeCreated SystemTime="2012-10-21T13:21:56.783161800Z" />
        <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
        <Execution ProcessID="2468" ThreadID="3484" ProcessorID="0" KernelTime="195" UserTime="435" />
        <Channel />
        <Computer />
    </System>
        <Data>{00000000-0000-0000-6E02-0080000000CA}: iisnode failed to process http response status line</Data>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
        <Provider Guid="{1040dfc4-61db-484a-9530-584b2735f7f7}" />
        <EventID>0</EventID>
        <Version>0</Version>
        <Level>5</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x0</Keywords>
        <TimeCreated SystemTime="2012-10-21T13:21:56.783171500Z" />
        <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
        <Execution ProcessID="2468" ThreadID="3484" ProcessorID="0" KernelTime="195" UserTime="435" />
        <Channel />
        <Computer />
    </System>
        <Data>{00000000-0000-0000-6E02-0080000000CA}: iisnode request processing failed for reasons unrecognized by iisnode</Data>
</Event>

1 个答案:

答案 0 :(得分:1)

这种情况经常表明在发送回HTTP响应的应用程序中间,node.exe和iisnode之间的连接被破坏了。这反过来可能是响应处理期间异常的结果。检查未处理异常的响应代码路径,和/或注册全局uncaughtException处理程序以查看是否有任何异常未处理,这可能是个好主意。如果这没有帮助,请在https://github.com/tjanczuk/iisnode/issues/new处打开一个问题。