[英]CreateObject(“MSXML2.serverXMLHTTP.6.0”) and CreateObject(“WinHttp.WinHttpRequest.5.1”) crashes with 100+ objects/requests running at the same time
我正在嘗試使用MSXML2.serverXMLHTTP.6.0
或WinHttp.WinHttpRequest.5.1
同時創建100-300個HTTP對象/請求。
使用測試應用程序在不同的線程上創建這些請求。 一切正常,最多可同時運行90個創建對象/請求。
如果同時創建/調用的數目超過100,則該應用程序將崩潰,並在KERNELBASE.dll中出現異常。
碼:
CreateObject("MSXML2.serverXMLHTTP.6.0")
CreateObject("WinHttp.WinHttpRequest.5.1")
set obj = CreateObject("MSXML2.serverXMLHTTP.6.0")
'set obj = CreateObject("WinHttp.WinHttpRequest.5.1")
obj.open "GET", "https://httpbin.org/get", true
'https://resttesttest.com/
obj.send ' Mostly crashes here.
obj.WaitForResponse
result = obj.responseTEXT
set obj = Nothing
事件查看器報告:
故障模塊名稱:KERNELBASE.dll,版本:6.1.7601.18015,時間戳:0x50b83c8a異常代碼:0xc00000fd故障模塊路徑:C:\\ Windows \\ syswow64 \\ KERNELBASE.dll
我嘗試將異步設置為“ true”並設置為“ false”。
任何人都可以提供任何調試指針嗎?
如果您這樣做是為了破壞REST服務器並對其容量/吞吐量進行壓力測試,那么我建議您為自己分配多個進程,每個進程都具有各自的線程池(盡管我仍不清楚您如何設法使用VBScript)。
如果您已經用盡其他可能的原因,請確保.dll沒有問題,這是系統文件修復工具
另外,我也做了一些細致的研究,而KERNALBASE.dll的大多數問題都與32位和64位應用程序之間的不兼容性有關。
http://zahirkhan.com/dotnet/faulting-module-path-kernelbasedll
我希望這可以解決您的問題,或者至少可以使您朝正確的方向前進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.