微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在C#asp.net MVC中以后台运行功能/进程

如何解决在C#asp.net MVC中以后台运行功能/进程

这是我的新手,但我有一个问题:在C#ASP.NET MVC中以后台运行功能/过程的最佳方法是什么?

对于上下文,我正在为一个通过snmp进行监视的项目创建一个网站。关键是各种警报之间的超时时间不同。我想浏览所有警报,看看从上次检查到现在之间的时间是否已经过去。如果是这样,程序将对该警报进行另一次监视。它应该在后台运行,因此不会影响网站的其余部分。

有人可以帮我吗?

预先感谢^^

解决方法

在此处查看这篇出色的文章:https://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx

TLDR:您具有内置选项和第三方选项。

  • 内置的功能不那么完善,提供的功能不如hangfire
  • 内置尝试延迟应用程序池回收以完成工作。
  • Hangfire与Redis和其他持久性选项具有良好的连接性

这两者都不适合长时间运行的作业,尤其是比应用程序池重新启动时间更长的时间。

两者都需要某种恢复机制,以防任务突然中断。

您可以构建在调度程序或Windows服务或linux cron作业上运行的应用程序,甚至可以尝试在云上作为Web作业进行操作。这些与iis生命周期无关,并且没有上述缺点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。