簡體   English   中英

CreateObject(“ MSXML2.serverXMLHTTP.6.0”)和CreateObject(“ WinHttp.WinHttpRequest.5.1”)崩潰,同時運行100多個對象/請求

[英]CreateObject(“MSXML2.serverXMLHTTP.6.0”) and CreateObject(“WinHttp.WinHttpRequest.5.1”) crashes with 100+ objects/requests running at the same time

我正在嘗試使用MSXML2.serverXMLHTTP.6.0WinHttp.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沒有問題,這是系統文件修復工具

https://support.microsoft.com/zh-CN/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system-files

另外,我也做了一些細致的研究,而KERNALBASE.dll的大多數問題都與32位和64位應用程序之間的不兼容性有關。

https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/2556a86b-f82e-4efb-bcdd-19919facbff6/application-error-faulting-module-name-kernelbasedll-version-61760016385?forum=vcgeneral

http://zahirkhan.com/dotnet/faulting-module-path-kernelbasedll

我希望這可以解決您的問題,或者至少可以使您朝正確的方向前進。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM