Asp.net

IIS ASP.Net 網站 - ManagedPipelineHandler 錯誤(在不存在的網路連接上嘗試了操作)

  • March 7, 2014

我遇到了一個奇怪的問題。我有一個使用表單身份驗證的 ASP.Net Web 應用程序。如果我打開登錄頁面並且有幾分鐘不活動,登錄嘗試超時或 IE / FireFox 顯示“無法顯示此頁面”。如果沒有暫停或缺乏活動,則沒有問題並且網站按預期執行。

我在 IIS 中啟用了跟踪。似乎掛起的區域是 NOTIFY_MODULE_START 模組名稱:ManagedPipelineHandler。132141 毫秒後,我收到以下錯誤 I/O 操作已因執行緒退出或應用程序請求而中止。(0x800703e3) - 錯誤程式碼 2147943395。

錯誤程式碼 2147943629

錯誤程式碼 嘗試對不存在的網路連接進行操作。(0x800704cd)

螢幕截圖:http://www.plasmawebservices.com/images/errorScreenShot.png

伺服器是 Windows 2008 SP2。IIS 7

有沒有人遇到過這樣的錯誤?

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<telerik:RadFormDecorator ID="RadFormDecorator" runat="server" DecoratedControls="All" />
<p>
   Please enter your username and password.
</p>
<asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
   <LayoutTemplate>
       <asp:Panel runat="server" ID="LoginPanel" DefaultButton="LoginButton">
           <p>
               <span class="failure-notification">
                   <asp:Literal ID="FailureText" runat="server"></asp:Literal>
               </span>
           </p>
           <asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failure-notification"
               ValidationGroup="LoginUserValidationGroup" />
           <div class="account-info">
               <fieldset class="login">
                   <legend>Account Information</legend>
                   <p>
                       <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username:</asp:Label>
                       <asp:TextBox ID="UserName" runat="server" CssClass="text-entry"></asp:TextBox>
                       <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                           CssClass="failure-notification" ErrorMessage="User Name is required." ToolTip="User Name is required."
                           ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                   </p>
                   <p>
                       <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
                       <asp:TextBox ID="Password" runat="server" CssClass="password-entry" TextMode="Password"></asp:TextBox>
                       <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                           CssClass="failure-notification" ErrorMessage="Password is required." ToolTip="Password is required."
                           ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                   </p>
                   <%--<p>
                       <asp:CheckBox ID="RememberMe" runat="server"/>
                   <asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">Keep me logged in</asp:Label>
                   </p>--%>
               </fieldset>
               <p class="margin-top-10">
                   <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="LoginUserValidationGroup" />
               </p>
           </div>
       </asp:Panel>
   </LayoutTemplate>
</asp:Login>

謝謝,布倫南

解決方案

客戶端在其伺服器上安裝了 AVG Security 工作站組件。工作站組件導致與 IIS 的通信問題。通過禁用 Online Shield 和 Resident Shield,症狀不再存在。

案例說明:

在 Web 應用程序上的任何頁面上兩分鐘不活動後,頁面鎖定。在您的下一個操作中,您將看到一個 Ajax 載入面板(又名旋轉圖示)持續 120 秒,然後什麼也沒有。應用程序已鎖定。

當我們在幾分鐘的空閒時間後瀏覽任何網頁時,找出為什麼我們會收到錯誤“在不存在的網路連接上嘗試操作。(0x800704cd)”的根本原因。出現此問題的原因可能有多種,出於此票證的目的,我們將僅關註一個根本原因 如果問題是由 Microsoft 組件引起的,我們將努力有效地解決此問題。如果確定問題的原因是第三方或自定義組件,我們將很樂意詳細討論我們的發現並提供可能的解決方法/解決方法。最終將由第三方供應商來解決這些類型的問題。

為進行故障排除,已創建預設 ASP.Net 網站並將其作為新網站部署到 IIS。結果與有問題的網站相同。

IIS HTTP 錯誤:

開始 -> 執行 -> 日誌文件

2011-09-20 21:25:25 xx.xxx.xxx.xxx 36482 192.168.10.32 80 HTTP/1.1 POST /orders/mail/mailorderentry - - Timer_HeaderWait -

2011-09-20 21:22:29 xx.xxx.xxx.xxx 44399 192.168.10.32 80 HTTP/1.1 POST /orders/mail/mailorderentry - - Client_Reset -

起初,問題似乎出在 Telrik 身上。在 REQUEST_ACQUIRE_STATE 事件上傳入 Telerik.Web.UI.RadCompression 時,通過 IIS 跟踪記錄了以下錯誤:

Telerik.Web.UI.RadCompression 132187 毫秒

  1. -GENERAL_READ_ENTITY_END BytesReceived 0 錯誤程式碼 2147943395 錯誤程式碼 由於執行緒退出或應用程序請求,I/O 操作已中止。(0x800703e3) 資訊
  2. -GENERAL_FLUSH_RESPONSE_END BytesSent 0 錯誤程式碼 2147943629 錯誤程式碼 嘗試對不存在的網路連接進行操作。0x800704cd)

RadCompression 模組已從 Web 應用程序 web.config 文件中刪除;但是,問題仍然存在。

建議的解決方案:

暫時禁用伺服器上的 AVG Online Shield 和 Resident Shield。

來自 AVG:

以下 AVG 組件僅設計用於工作站:

  • AVG 防火牆
  • AVG 線上盾牌
  • AVG 個人電子郵件掃描器
  • AVG 連結掃描器

上述組件未在系統負載下進行測試。如果安裝在伺服器作業系統(例如 ISA、代理、郵件伺服器、終端伺服器等)上,這些組件可能會導致伺服器通信出現問題。為避免這些問題,不建議在伺服器作業系統上安裝上述組件。注意:這不適用於您將安裝了某些伺服器作業系統(例如 Windows Server 2000、2003 等)的電腦用作未啟用伺服器功能的標準電腦的情況。

有關在特定伺服器上安裝 AVG 的更多資訊,請參閱這些常見問題解答:

  • FAQ 2129 - 終端伺服器
  • FAQ 2176 - 電子郵件伺服器

引用自:https://stackoverflow.com/questions/7439063