2012-10-22 64 views
2

我在Windows 2008 R2和節點0.8上使用IIS節點0.1.21 x64iisnode無法處理http響應狀態行

我的應用程序成功運行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

這種情況往往表明node.exe和iisnode之間的連接是在應用程序發回HTTP響應中間折斷。這又可能是響應處理期間異常的結果。檢查未處理異常的響應代碼路徑和/或註冊全局uncaughtException處理程序以查看是否有任何異常未處理可能是一個好主意。如果這沒有幫助,請在https://github.com/tjanczuk/iisnode/issues/new處打開問題。

+0

我已經發布了這個問題#224和#223 –