【问题标题】:WinInet vs WinHttp (service or service-like process)WinInet vs WinHttp(服务或类似服务的进程)
【发布时间】:2012-08-13 02:51:15
【问题描述】:

我无法理解“服务或类服务过程”这两个概念之间的区别。

在 msdn WinHTTP vs. WinINet 页面上说:

在两者之间进行选择时,您应该使用 WinINet,除非您 计划在需要的服务或类似服务的进程中运行 模拟和会话隔离。

WinInet function 的 msdn 注释说:

注意 WinINet 不支持服务器实现。此外,它 不应从服务中使用。对于服务器实现或 服务使用 Microsoft Windows HTTP 服务 (WinHTTP)。

什么是“需要模拟和会话隔离的服务或类似服务的进程”?
“WinINet 不支持服务器实现”是指在 Windows Server 上运行?
如果我的应用程序使用 IIS 运行,我是否应该使用 WinHTTP 而不是 WinInet?

【问题讨论】:

    标签: windows visual-c++ wininet winhttp


    【解决方案1】:

    WinINet 专为面向人的应用程序而设计,在某些情况下,它会在用户屏幕上显示错误消息和连接弹出窗口。如果您从服务中使用它,或者没有人可以关闭弹出窗口,它将阻止您的应用程序。这就是为什么您不应该使用 WinINet 的原因,除非您确定用户坐在计算机前并等待关闭“设置连接”对话框或错误消息。

    如果我的应用程序使用 IIS 运行,我是否应该使用 WinHTTP 而不是 WinInet?

    两者都没有。 IIS 有自己的HTTP stack,并在内核模式下运行 HTTP.sys 驱动程序

    【讨论】:

      【解决方案2】:

      如果我的应用程序使用 IIS 运行,我是否应该使用 WinHTTP 而不是 WinInet?

      如果您的应用程序是 ISAPI-DLL,则 DLL 在 IIS 的服务上下文中运行。因此你应该使用 WinHTTP。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-13
        • 2022-01-19
        • 2011-02-03
        • 1970-01-01
        • 1970-01-01
        • 2011-08-13
        • 2014-11-05
        • 1970-01-01
        相关资源
        最近更新 更多