gpt4 book ai didi

c++ - 是否可以在 IIS 托管的 C++ 应用程序中启动自定义线程?

转载 作者:行者123 更新时间:2023-11-30 03:12:49 26 4
gpt4 key购买 nike

我们在 IIS 中托管了一个基于 C++ 的 WebServices 应用程序,我们发现当我们尝试启动我们自己的 C++ 线程时,IIS 会适配并崩溃。线程基于 boost.thread ,它清楚地向下延伸到下面的标准 Windows 线程 API。

我需要启动线程的原因是监听来 self 们中间层服务器的多播,以保持本地缓存的最新状态。除了编写另一个进程来监听我们之外,我不知道还能做什么。

所以问题是,这可行吗?使用 IIS 执行此类操作是否存在固有限制?

最佳答案

听起来您正在创建一个持久线程,它的生命周期比启动它的请求的生命周期长。您没有提及它是 ASP.NET C++/CLI、托管 C++ 还是 ISAPI 扩展或过滤器,甚至是 CGI。

从概念上讲,IIS 调用的代码只应在请求的生命周期内“存在”。运行时间更长的代码将受 IIS 应用程序池回收的支配。

最好的办法是让另一个进程来监听通知,并在该进程中维护缓存。然后您可以使用共享内存(参见 Boost.Interprocess )从您的 Web 服务访问该缓存。

关于c++ - 是否可以在 IIS 托管的 C++ 应用程序中启动自定义线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271833/

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