基于.net中突破每客戶端兩個http連接限制的詳細介紹
更新時間:2013年05月20日 10:29:11 作者:
本篇文章是對.net中突破每客戶端兩個http連接限制進行了詳細的分析介紹,需要的朋友參考下
在Http協(xié)議中,規(guī)定了同個Http請求的并發(fā)連接數(shù)最大為2. 這個數(shù)值,可謂是太小了。
而目前的瀏覽器,已基本不再遵循這個限制,但是Dot Net平臺上的 System.Net 還是默認遵循了這個標(biāo)準(zhǔn)的。
從而造成了,在使用HttpWebRequset 或者 WebClient 利用多線程的方式,訪問某個網(wǎng)站時,經(jīng)常出現(xiàn) 連接被異常關(guān)閉的錯誤,大大降低了效率。
這個限制的值,是可以自己設(shè)置或配置的。
System.Net.ServicePointManager.DefaultConnectionLimit 就是設(shè)置的地方。 可以根據(jù)實際情況,來設(shè)置這個值的大小,不過,建議不要超過1024,推薦為512,已經(jīng)足夠了。
當(dāng)然,也可以直接在程序的 app.config中配置這個值。
此值設(shè)置后,只對以后發(fā)起的HTTP請求有效。
兩個辦法:
1。限制針對應(yīng)用程序域,為每個線程使用不同的應(yīng)用程序域:
AppDomain appDomain = AppDomain.CreateDomain("");
appDomain.ExecuteAssembly(@"TestClient.exe");
AppDomain.Unload(appDomain);
2。在app.config配置文件中添加:
<system.net>
<connectionManagement>
<add address="*" maxconnection="100"/>
</connectionManagement>
</system.net>
而目前的瀏覽器,已基本不再遵循這個限制,但是Dot Net平臺上的 System.Net 還是默認遵循了這個標(biāo)準(zhǔn)的。
從而造成了,在使用HttpWebRequset 或者 WebClient 利用多線程的方式,訪問某個網(wǎng)站時,經(jīng)常出現(xiàn) 連接被異常關(guān)閉的錯誤,大大降低了效率。
這個限制的值,是可以自己設(shè)置或配置的。
System.Net.ServicePointManager.DefaultConnectionLimit 就是設(shè)置的地方。 可以根據(jù)實際情況,來設(shè)置這個值的大小,不過,建議不要超過1024,推薦為512,已經(jīng)足夠了。
當(dāng)然,也可以直接在程序的 app.config中配置這個值。
此值設(shè)置后,只對以后發(fā)起的HTTP請求有效。
兩個辦法:
1。限制針對應(yīng)用程序域,為每個線程使用不同的應(yīng)用程序域:
復(fù)制代碼 代碼如下:
AppDomain appDomain = AppDomain.CreateDomain("");
appDomain.ExecuteAssembly(@"TestClient.exe");
AppDomain.Unload(appDomain);
2。在app.config配置文件中添加:
復(fù)制代碼 代碼如下:
<system.net>
<connectionManagement>
<add address="*" maxconnection="100"/>
</connectionManagement>
</system.net>
相關(guān)文章
C#實現(xiàn)從多列的DataTable里取需要的幾列
這篇文章主要介紹了C#實現(xiàn)從多列的DataTable里取需要的幾列,涉及C#針對DataTable操作的相關(guān)技巧,需要的朋友可以參考下2016-03-03
如何用C#找出數(shù)組中只出現(xiàn)了一次的數(shù)字
數(shù)組從字面上理解就是存放一組數(shù),下面這篇文章主要給大家介紹了關(guān)于如何用C#找出數(shù)組中只出現(xiàn)了一次的數(shù)字,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12
C# 總結(jié)QueueUserWorkItem傳參幾種方式案例詳解
這篇文章主要介紹了C# 總結(jié)QueueUserWorkItem傳參幾種方式案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09

