gpt4 book ai didi

windows - WinINET 是可重入的吗?

转载 作者:可可西里 更新时间:2023-11-01 11:39:39 24 4
gpt4 key购买 nike

我发现 WinHTTP 不可重入(12)。 WinINET 是可重入的吗?

我们有一个与 WinINET 同步 HTTP 的 ActiveX 控件。如果浏览器(在 javascript 中)触发一个异步 http 请求(ajax),然后立即调用 ActiveX 操作(同一个 IE 进程),这两个操作似乎是交错的,可能在同一个 API 上重入,并打破了 WinINET 状态: ajax 上的 clearInterval 错误地失败了一次。我们将 EXT 用于 ajax,并且 EXT 假设 clearInterval 第一次工作。

最佳答案

Windows Internet (WinINet) API 的一个重要限制是 WinINet 不应在服务中使用(仅在 GUI 应用程序中),因为可能存在对话框,Windows HTTP 服务 (WinHTTP) 没有限制。它专为服务应用程序而设计,改进了对异步请求的支持。据我所知,WinHTTP 是可重入的。如果您有其他引用资料,请张贴。

在 COM 应用程序中使用 WinINET 确实可以产生一些效果。在 Different Handling of Asynchronous Requests描述了 WinINet 和 WinHTTP 异步和同步请求的一些差异。

WinINET 中的最后更改是针对 Windows XP and Windows Server 2003 R2 的. WinHTTP 在 Windows Server 2008 and Windows Vista 中有一些新功能.

如果您的应用程序部分不够大并且仅使用 HTTP/HTTPS,我建议您使用 to port it from WinINet Applications to WinHTTP .如果您确实想要或必须继续使用 WinINET,您可以在您的问题中张贴一个示例,说明您如何在您的应用程序中使用 WinINet。可能更改代码可以解决您的多线程问题。

关于windows - WinINET 是可重入的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3662397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com