Select the product you need help with
當您嘗試在建置在.NET Framework 1.1 Service Pack 1 的應用程式中進行 HTTP 要求時,收到一或多個錯誤訊息文章編號: 915599 - 檢視此文章適用的產品。 在此頁中結論本文將告訴您當您使用 Microsoft.NET Framework 1.1 Service Pack 1 (SP1) 時,可能會收到錯誤訊息來產生 HTTP 要求或當您呼叫一個 Web 服務。 徵狀當想在.NET Framework 建置的應用程式中進行 HTTP 要求可能會收到一或多個下列的錯誤訊息: 錯誤訊息 1 基礎連線已關閉: 無法連線到遠端伺服器。 錯誤訊息 2 基礎連線已關閉: 上一個傳送時發生意外的錯誤。 錯誤訊息 3 基礎連線已關閉: 上接收時發生意外的錯誤。 錯誤訊息 4 基礎連線已關閉: 伺服器認可 HTTP 通訊協定違規。 錯誤訊息 5 基礎連線已關閉: 找不建立 SSL/TLS 安全通道。 錯誤訊息 6 作業已逾時 發生的原因錯誤訊息 1當.NET Framework 無法建立到遠端伺服器連線時,就會發生這個問題。當一個時,可能就會發生這個問題或多個下列條件,則為 True:
錯誤訊息 2當用戶端電腦無法傳送的 HTTP 時,就會發生這個問題的要求。用戶端電腦無法傳送 HTTP 要求,因為連接已關閉或無法使用。用戶端電腦會傳送大量資料時,可能就會發生這個問題。若要解決這個問題,請參閱解析度 A、 D、 E、 F 及單錯誤訊息 3當伺服器或其他網路裝置意外關閉現有的傳輸控制通訊協定 (TCP) 連線時,就會發生這個問題。 逾時值在伺服器上或網路裝置上設定太低時,可能就會發生這個問題。若要解決這個問題,請參閱解析度 A、 D、 E、 F 及單問題可能也會發生當如果伺服器重設連接意外地,例如 if 未處理的例外狀況機伺服器處理序。 分析伺服器記錄檔來查看是否這可能是問題。錯誤訊息 4當.NET Framework 會偵測到伺服器回應並未遵守 HTTP 1.1 RFC 時,就會發生這個問題。當回應包含不正確的標頭或不正確的標頭分隔符號時,可能會發生這個問題。若要解決這個問題,請參閱解決方案 A 和 G.如需有關 HTTP 標頭的詳細資訊,請造訪下列全球資訊網協會網站: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6 Microsoft 提供協力廠商連絡資訊可協助您尋找技術支援。 此連絡人資訊若有變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6)
錯誤訊息 5當一個時,可能就會發生這個問題或多個下列條件,則為 True:
錯誤訊息 6發生下列情況之一發生之前,到達用戶端逾時值時,就會發生這個問題:
解決方案附註下列清單包含可能的解決方法,其中一個這些問題發生時可能會套用。並非所有的解析度套用到這些問題。請參閱 < 原因 > 一節來判斷哪一種解析度套用中的問題描述。 解析度 A若要解決這個問題,請確定您使用.NET Framework 的最新的版本。 如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:318785
(http://support.microsoft.com/kb/318785/
)
如何判斷.NET Framework 版本時才安裝,是否已經套用 Service Pack 解析度 B若要解決這個問題,請確定 Proxy 設定正確。若要執行此動作採用下列方法:
解析度 C若要解決這個問題,請確定應用程式有權限,才能進行網路呼叫,並讓通訊端呼叫。當使 HttpWebRequest 呼叫在應用程式執行 Web 應用程式內可套用於此解析度。您可能要授與讀取權限可以在 ASPNET 帳戶,讓您可以存取下列資源:
http://technet.microsoft.com/en-us/sysinternals/default.aspx 在本文所討論的協力廠商產品是由 Microsoft 以外的公司所製造的。Microsoft 可讓不以暗示或其他方式,效能或可靠性這些產品的保證。
(http://technet.microsoft.com/en-us/sysinternals/default.aspx)
解析度 D如果要解決這個問題,停用持續作用的功能]。在.NET] Framework 請將 HttpWebRequest.KeepAlive 屬性設定為 FALSE。如果要呼叫 Web 服務時,請執行這項操作,請依照下列步驟執行。附註「 持續作用的功能都需要 NTLM 驗證。
解析度 E如果要解決這個問題,請將 ServicePointManager.MaxServicePointIdleTime 屬性設定成小於一個伺服器持續作用連線的逾時值。備忘稿
解析度 F若要解決這個問題,增加逾時值在伺服器電腦和其他網路裝置上。若要增加逾時值在 Microsoft 網際網路資訊服務 (IIS) 6.0,請依照下列步驟執行:
解析度 G如果要解決這個問題,將 useUnsafeHeaderParsing 設 為 True。如需有關 useUnsafeHeaderParsing 屬性,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:888528
(http://support.microsoft.com/kb/888528/
)
在.NET Framework 1.1 Service Pack 1 中修正,但不個別微軟知識庫文件中其他地方描述 Bug 的清單 解析度 H若要解決這個問題,提供應用程式的有效的用戶端憑證。 如更多有關如何使用用戶端憑證的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:901183
(http://support.microsoft.com/kb/901183/
)
如何在 ASP.NET Web 應用程式中的驗證使用用戶端憑證呼叫 Web 服務 895971
(http://support.microsoft.com/kb/895971/
)
如何利用 HttpWebRequest 和 HttpWebResponse 類別 Microsoft Visual C#.NET 中傳送用戶端憑證 解析度我若要解決這個問題,提供之伺服器的有效的安全性憑證。此外,您可能可以解決這個問題,安裝根憑證授權單位 (CA) 憑證或修正的伺服器憑證一般名稱。如需有關命名伺服器憑證的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:813618 警告這項因應措施可能會使您的電腦] 或 [網路更容易遭受] 攻擊惡意使用者或惡意軟體 (例如病毒)。我們不建議這項因應措施,但會提供這項資訊,如此您可以在您自己慎重實作這項因應措施。這項因應措施您必須承擔使用自己的風險。
(http://support.microsoft.com/kb/813618/
)
安全性警告: 安全性憑證的名稱無效或不符合網站名稱 您也可以修訂應用程式程式碼,以略過這些憑證警告。若要執行此動作實作您自己 ICertificatePolicy 介面。然後,您可以設定 ServicePointManager.CertificatePolicy 屬性來使用的 Web 服務方法呼叫之前您憑證原則的執行個體。 附註ICertificatePolicy.CheckValidationResult 方法會實作應用程式憑證驗證原則。 如需有關 ICertificatePolicy.CheckValidationResult 方法的詳細資訊,請造訪下列 Microsoft 網站]: http://msdn2.microsoft.com/en-us/library/system.net.icertificatepolicy.checkvalidationresult(vs.71).aspx 如程式碼範例和詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
(http://msdn2.microsoft.com/en-us/library/system.net.icertificatepolicy.checkvalidationresult(vs.71).aspx)
823177 重要我們建議您不忽略因為可能的安全性風險的程式碼中的 SSL 憑證警告。
(http://support.microsoft.com/kb/823177/
)
PRB:"System.Net.WebException。基礎連線已關閉。無法建立與遠端伺服器的信任關係 」 時,出現錯誤訊息升級.NET Framework 解析度 J如果要解決這個問題,變更 HTTPS 通訊協定從 SSL 傳輸層級安全性 (TLS)。附註如果您已經使用 TLS,變更 SSL HTTPS 通訊協定。若要將 HTTPS 通訊協定,用戶端電腦上的請參閱 「 ServicePointManager.SecurityProtocol 屬性 」 一節,下列 Microsoft 網站: http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol.aspx 附註例如,以支援 SSL3 通訊協定和 TLS1 通訊協定,使用類似於的程式碼下列。
(http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol.aspx)
187498
(http://support.microsoft.com/kb/187498/
)
如何停用 PCT 1.0]、 [SSL 2.0]、 [SSL 3.0] 或 [網際網路資訊服務] 中的 TLS 1.0 解析度 K若要解決這個問題,增加 maxConnection 屬性的值。執行這項操作,修改應用程式組態檔或新增應用程式的程式碼。附註maxConnection 屬性的預設值是 2。對於 Microsoft ASP.NET 連接的應用程式呼叫 Web 服務,我們建議您設定值為 12 次的處理器數目。若要使用應用程式的程式碼來設定此值,使用 ServicePointManager.DefaultConnectionLimit 屬性。如需有關 ServicePointManager.DefaultConnectionLimit 屬性的詳細資訊,請造訪下列 Microsoft 網站]: http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit(vs.71).aspx 若要設定這個值,藉由使用組態檔的應用程式,將下列程式碼加入至組態檔
(http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit(vs.71).aspx)
http://msdn2.microsoft.com/en-us/library/aa903351(VS.71).aspx
(http://msdn2.microsoft.com/en-us/library/aa903351(VS.71).aspx)
解析度 L若要解決這個問題,請確定正確實作等候逾時設定在伺服器和其他網路裝置上。如需有關如何實作等候逾時設定的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:904262
(http://support.microsoft.com/kb/904262/
)
HttpWebRequest 類別所傳送的要求可能會停止回應,當您在 ASP.NET 應用程式中使用 HttpWebRequest 類別 解析度 M如果要解決這個問題,閱讀 ASP.NET 效能調整。如 ASP.NET 效能調整的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:821268
(http://support.microsoft.com/kb/821268/
)
爭用、 效能不佳和死結,當您從 ASP.NET 應用程式的 Web 服務要求 解析 N若要解決這個問題,增加用戶端應用程式程式碼中的 [逾時] 屬性的值。若要執行此動作使用下列屬性:
http://msdn2.microsoft.com/en-us/library/cy9yd268.aspx 如需有關 HttpWebRequest.ReadWriteTimeout 屬性的詳細資訊,請造訪下列 Microsoft 網站]:
(http://msdn2.microsoft.com/en-us/library/cy9yd268.aspx)
http://msdn2.microsoft.com/en-us/library/b1w9c0s4.aspx
(http://msdn2.microsoft.com/en-us/library/b1w9c0s4.aspx)
解析度 O如果要解決這個問題,確定用戶端電腦不會傳送 HTTP 100-繼續標頭。此外,請確定用戶端電腦並不預期要接收 HTTP 100-繼續標頭。附註此解決方法是有效如果 Web 伺服器或 Proxy 伺服器不支援 HTTP 100-繼續標頭。如需有關如何停用 HTTP 100-繼續用戶端電腦的標頭,請造訪下列 Microsoft 網站: http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue.aspx
(http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue.aspx)
?考如需有關效能考量,當您進行 Web 服務呼叫從 ASP.NET 連線應用程式,請造訪下列 Microsoft 網站的詳細資訊: http://msdn2.microsoft.com/en-us/library/aa480507.aspx 如需有關效能問題和死結問題,當您進行 Web 服務要求從 ASP.NET 連線應用程式,請按一下下列文章編號,檢視 「 Microsoft 知識庫 」 中的發行項的詳細資訊:
(http://msdn2.microsoft.com/en-us/library/aa480507.aspx)
821268 如需有關如何改善 ASP.NET 連線應用程式效能的詳細資訊,請造訪下列 Microsoft 網站]:
(http://support.microsoft.com/kb/821268/
)
爭用、 效能不佳和死結,當您從 ASP.NET 應用程式的 Web 服務要求 http://msdn2.microsoft.com/en-us/library/ms998549.aspx 如需有關如何改善效能的 Web 服務,請造訪下列 Microsoft Web 網站:
(http://msdn2.microsoft.com/en-us/library/ms998549.aspx)
http://msdn2.microsoft.com/en-us/library/ms998562.aspx 如需有關如何建置安全的 ASP.NET 連線應用程式的詳細資訊,請造訪下列 Microsoft 網站]:
(http://msdn2.microsoft.com/en-us/library/ms998562.aspx)
http://msdn2.microsoft.com/en-us/library/aa302408.aspx 附註TCP 傳輸通訊協定用於 HTTP 要求。TCP 是可靠的連線導向通訊協定。不過,如果意外關閉 TCP 連線,應用程式重試要求。請 TCP 的相關資訊通訊協定和關於用戶端行為如果伺服器關閉一個連線造訪下列全球資訊網協會網站:
(http://msdn2.microsoft.com/en-us/library/aa302408.aspx)
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.4 Microsoft 提供協力廠商連絡資訊可協助您尋找技術支援。 此連絡人資訊若有變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。 如需有關 FileMon 公用程式和 RegMon 公用程式,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.4)
198038 如更多有關網路監視器 」 的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
(http://support.microsoft.com/kb/198038/
)
封裝和部署問題的有用工具 148942
(http://support.microsoft.com/kb/148942/
)
如何擷取網路流量與網路監視器 812953
(http://support.microsoft.com/kb/812953/
)
如何使用網路監視器擷取網路資料傳輸 屬性文章編號: 915599 - 上次校閱: 2009年2月8日 - 版次: 2.2
機器翻譯 重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:915599
(http://support.microsoft.com/kb/915599/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 |




回此頁最上方








