IHostedService 无故停止

2023-11-23

谁能向我解释为什么我的服务器无缘无故停止了? 下面是我的 IHostedService 实现:

public class HostServiceBox : IHostedService
    {
        public Task StartAsync(CancellationToken cancellationToken)
        {
            return Task.Run(() =>
            {
                DomonutyBoxBusiness.StartBoxListening(); //STARTUP Box listening

                while (true)
                {
                    Logging.Info(DateTime.Now + " HostServiceBox Running");
                    Thread.Sleep(10000);
                }
            }, cancellationToken);
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            Logging.Info(DateTime.Now + " StopAsync");

            //TODO impplement a Stop litening all boxes
            throw new NotImplementedException();
        }
    }

这是我的日志?

    .....
2/24/2018 8:31:27 PM HostServiceBox Running
2/24/2018 8:32:27 PM HostServiceBox Running
2/24/2018 8:33:27 PM HostServiceBox Running
2/24/2018 8:34:27 PM HostServiceBox Running  <------
2/25/2018 11:22:07 AM HostServiceBox Running <-----
2/25/2018 11:23:07 AM HostServiceBox Running
2/25/2018 11:24:07 AM HostServiceBox Running
2/25/2018 11:25:07 AM HostServiceBox Running
......

看起来像在 IIS 上使用 kestrel (.Net Core) 我的方法休眠了吗?为什么?

通常我的而(真)重新启动,因为我调用了API。但托管服务是一个后台任务,它不应该停止,对吧?

相关帖子github


用户tym32167走在正确的轨道上。文档中提到了这一点IHostedService在关于部署:

在 IIS 或常规 Azure 应用服务上,您的主机可能会因应用程序池回收而关闭

IIS 应用程序池的默认空闲超时时间为 20 分钟,并且默认的应用程序池回收时间为 29 小时。通常,您希望将空闲超时设置为零(禁用),并将回收时间设置为危害最小的固定时间。

有一篇有趣的博客文章介绍了他们为什么选择 29 小时here它还涵盖空闲超时。

此外,如果您碰巧要部署到 Azure,前面链接的那篇文章建议了真正全职运行的其他部署方法(容器、WebJobs 等)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IHostedService 无故停止 的相关文章

  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • Exit() 时是否调用基本对象析构函数?

    我意识到这个问题已经出现过几次 但我试图获得上述问题的明确答案 但我不断遇到相互矛盾的信息 我需要知道的是 当我使用 exit 时 基本类对象是否被破坏 我知道需要删除动态内存 但我的意思更像是 include
  • 如何在 VC++ CString 中验证有效的整数和浮点数

    有人可以告诉我一种有效的方法来验证 CString 对象中存在的数字是有效整数还是浮点数吗 Use tcstol http msdn microsoft com en us library w4z2wdyc aspx and tcstod
  • 在 HKCR 中创建新密钥有效,但不起作用

    我有以下代码 它返回 成功 但使用两种不同的工具使用搜索字符串 3BDAAC43 E734 11D5 93AF 00105A990292 搜索注册表不会产生任何结果 RegistryKey RK Registry ClassesRoot C
  • Grpc - 将消息从一个客户端发送到连接到同一服务器的另一个客户端

    是否可以将消息从一个客户端发送到连接到同一服务器的另一个客户端 我想将数据从一个客户端发送到服务器然后发送到特定客户端 我想我需要获取客户端 ID 但我不知道如何获取此 ID 以及如何从服务器将此消息发送到该客户端 我这里有一个样本 这是一
  • 前向声明类型和“已声明为类类型的非类类型”

    我对以下代码有问题 template
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • 如何使用 ASP.NET Core 获取其他用户的声明

    我仍在学习 ASP NET Core 的身份 我正在进行基于声明的令牌授权 大多数示例都是关于 当前 登录用户的 就我而言 我的 RPC 服务正在接收身份数据库中某个用户的用户名和密码 我需要 验证是否存在具有此类凭据的用户 获取该用户的所
  • 如何使用 x64 运行 cl?

    我遇到了和这里同样的问题致命错误 C1034 windows h 未设置包含路径 https stackoverflow com questions 931652 fatal error c1034 windows h no include
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • 如何在 C# 中创建异步方法?

    我读过的每一篇博客文章都会告诉您如何在 C 中使用异步方法 但由于某些奇怪的原因 从未解释如何构建您自己的异步方法来使用 所以我现在有这段代码使用我的方法 private async void button1 Click object se
  • 模板类的模板构造函数的 C++ 显式模板特化

    我有一个像这样的课程 template
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 从Python中的基类继承namedtuple

    是否有可能生产一个namedtuple哪个继承自基类 我想要的是Circle and Rectangle are namedtuples 和 都是从公共基类 Shape 继承的 from collections import namedtu
  • 如何将实体框架添加到控制台应用程序(包含图像)

    I try to add entity framework to console application I press add new item and then then 然后我添加了代码 class Program static vo
  • Chrome 不支持 Service Worker (69.0.3497.81)

    我开始使用 PWA 渐进式网络应用程序 当我尝试检查 Chrome 浏览器是否支持 Service Worker 时 它总是返回 false 下面的代码我用于检查 Note 我使用的是 chrome 版本 69 0 3497 81 官方版本
  • 如何使用 python nltk 获取解析树?

    给出以下句子 The old oak tree from India fell down 如何使用 python NLTK 获得句子的以下解析树表示 ROOT S NP NP DT The JJ old NN oak NN tree PP
  • char four[4] = "四";该语句的正确语义是什么?

    int main void char four 4 four return 0 当编译为 C 程序时 G 会报告 xxx cpp 在函数 int main 中 xxx cpp 3 错误 字符数组的初始化字符串太长 编译 C 程序时 GCC
  • 如何在网页上制作pandas操作的进度条

    我已经在谷歌上搜索了一段时间 但无法找到一种方法来做到这一点 我有一个简单的 Flask 应用程序 它接受 CSV 文件 将其读入 Pandas 数据帧 将其转换并输出为新的 CSV 文件 我已经成功上传并使用 HTML 转换它 div c
  • 另一个围栏代码块内的围栏代码块

    我正在尝试写有关 Markdown 语法的文章 并且为了编写它 我使用 Markdown 所以 我的文档如下所示 Example of markdown code foo fenced code block fail bar lalala
  • AppFabric 缓存 - 我可以指定用于所有对象的序列化样式吗?

    实现某些自定义序列化的对象可以序列化和反序列化为不同的格式 例如 Xml 或 byte 我遇到了一个问题 当我放入缓存时 AppFabric 在类上运行 IXmlSerialized 实现 而我宁愿强制它使用二进制文件 AppFabric
  • 如何使用 adb 卸载所有 3rd 方用户应用程序?

    我正在尝试创建一个脚本 该脚本将通过以下方式在一次批量操作中检索和卸载所有用户应用程序adb 有谁知道我怎样才能做到这一点 我目前可以通过以下方式列出所有 3rd 方应用程序 adb shell pm list packages 3 我可以
  • 我如何知道图片何时加载到 Picturebox 中

    我有一些巨大的图像 7000 5000 要在我的程序中同时加载 我将它们一张一张地显示在图片框中 这些图像需要一些时间才能加载到图片框 首先 我将所有图像加载到Image数组为Bitmap 然后我只显示图片框中的第一张图像picturebo
  • Numpy:条件和

    我有以下 numpy 数组 import numpy as np arr np array 1 2 3 4 2000 5 6 7 8 2000 9 0 1 2 2001 3 4 5 6 2001 7 8 9 0 2002 1 2 3 4 2
  • 平方根函数是如何实现的? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 平方根函数是如何实现的 简单的实现使用二分查找用C double root double n Max and min are used to take into account
  • 如何在 selenium 自动化中更改 chrome 浏览器语言

    我想自动化 Web 应用程序的本地化功能 根据我的应用程序 当浏览器语言更改时 应用程序语言应该根据浏览器语言自动更改 怎么做 在启动驱动程序之前 在 chrome 选项中设置语言代码 如下所示 System setProperty web
  • Eclipse 无法编译,类文件错误,版本错误

    我正在尝试编译从另一个开发人员处签出的 SVN 代码 Eclipse 最近给我带来了很多麻烦 Here are my project specific settings 这是我的 ant 文件的编译部分
  • 哪个编译器(如果有)在参数包扩展中存在错误?

    在尝试以容器形式访问元组的便捷方法时 我编写了一个测试程序 在 clang 3 9 1 和 apple clang 上 它按预期进行编译 产生预期的输出 1 1 foo 2 在 gcc 5 4 6 3 上 无法编译
  • 如何在 Chrome 扩展程序中使用 Google API?

    我现在正在花几个小时搜索如何在 Chrome 扩展中使用 Google API 我想做的就是解析网站的内容并将其作为新事件插入到 Google 日历中 我得到了解析和一切 但似乎不可能在 Chrome 扩展中使用 Google API 我只
  • 如何改变objective-c中的图像分辨率

    我需要更改 Objective C 中现有图像的分辨率 就像 Apple 的预览应用程序工具 gt 调整大小 gt 分辨率一样 请让我知道可能的解决方案 这是我用过的一个很棒的示例 http weblog scifihifi com 200
  • Internet Explorer 8 中的 jQuery 问题

    我正在尝试让我的 jQuery 函数在 IE8 上运行 我正在从 Google 的服务器加载该库 http ajax googleapis com ajax libs jquery 1 3 jquery min js The functio
  • 我应该以什么顺序发送信号来正常关闭进程?

    In a comment on 这个答案另一个的question 评论者说 除非绝对不要使用kill 9 必要的 SIGKILL 不能被捕获 所以 被杀死的程序无法运行任何程序 关闭例程 例如擦除 临时文件 首先尝试 HUP 1 然后 IN
  • IHostedService 无故停止

    谁能向我解释为什么我的服务器无缘无故停止了 下面是我的 IHostedService 实现 public class HostServiceBox IHostedService public Task StartAsync Cancella