我有一个 Inno Setup Installer,需要在安装过程中进行 API 调用。这会将一些数据发布到远程 API。
POST 调用是在 [Code] 部分中使用 Pascal 和WinHttpRequest
对象执行的。API 是 ASP.Net WebAPI 2 (C#)。
我可以完全控制流程的所有部分,即 Inno Setup 脚本、代码部分和 WebAPI。
问题
我可以毫无问题地同步进行 POST 调用,但如果我在方法上设置异步标志true
,则WinHttpRequest.Open()
该.Send()
方法似乎根本不会执行。
procedure PostData(postural: String);
var
WinHttpReq: Variant;
ReqContent: String;
begin
try
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
ReqContent := 'item=value';
WinHttpReq.Open('POST', postUrl, true);
WinHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
WinHttpReq.Send(ReqContent);
except
end;
end;
我在 VisualStudio 调试器中检查了一个断点,并且端点永远不会被调用。
在这里和谷歌上搜索时,我只发现了各种异步获取响应的尝试,但我找不到这个问题的解决方案。我不需要响应,这是一种即发即弃的 API 调用。
简明问题
为什么 API 没有收到呼叫,我该如何解决这个问题?
谢谢。