C# 大多数人是如何在.NET web应用程序中编写后台任务的?
我正在编写一个需要两个后台进程才能运行的.NETMVC应用程序,我不确定这些进程是web应用程序中的线程,还是单独的windows服务。我更希望它们位于web应用程序中,以便更容易部署、配置和管理 第一个过程是一个定时事件,需要每15分钟检查一次数据源,以确定是否已装运某些产品。如果已经发货,此过程将获取有关产品的信息,并在数据库表(队列)中创建一个“作业”记录,以便稍后处理 第二个进程是另一个定时事件,需要检查数据库表(队列)以查看是否有工作要做。如果有未处理的记录,它会将它们读入线程安全列表,然后使用几个.NET任务并行处理它们 我之所以将其构建为一个web应用程序,是因为我要让我的客户能够查看此流程的历史信息、手动提交作业以及配置应用程序应“查找”的产品C# 大多数人是如何在.NET web应用程序中编写后台任务的?,c#,.net,C#,.net,我正在编写一个需要两个后台进程才能运行的.NETMVC应用程序,我不确定这些进程是web应用程序中的线程,还是单独的windows服务。我更希望它们位于web应用程序中,以便更容易部署、配置和管理 第一个过程是一个定时事件,需要每15分钟检查一次数据源,以确定是否已装运某些产品。如果已经发货,此过程将获取有关产品的信息,并在数据库表(队列)中创建一个“作业”记录,以便稍后处理 第二个进程是另一个定时事件,需要检查数据库表(队列)以查看是否有工作要做。如果有未处理的记录,它会将它们读入线程安全列表
有没有一种好方法可以将所有这些都构建到web应用程序中,或者我应该考虑将其拆分为多个应用程序?对web视图的需求将非常低。如果您决定直接在web应用程序中实现重复的后台任务,而不是将其外部化到单独的服务中,则Phil Haack将不得不面对这些挑战。我建议为后台操作提供专门的服务。原因是IIS可以在任何时间点破坏整个应用程序。谢谢。我没有意识到在后台运行任务的一些风险。