ASP.MVC需要一个很好的模式来处理来自网站的新数据库请求

时间:2015-03-23 06:17:14

标签: c# asp.net asp.net-mvc

我有几个在5分钟内运行的Windows服务,检查数据库是否有任何尚未处理的新Queue请求。

如果是,它将处理请求。

但我厌倦了使用Windows服务,并希望通过网站尽可能接近实时处理所有内容。所以我创建了一个控制器来添加请求。

public ViewResult Add(string url)
{
     using(var db = new dbEntity())
     {
        Queue q = new Queue();
        q.url = url;
        q.processed = false;
        db.Queues.Add(q);
        db.SaveChanges();
     }
}

现在,如果队列尚未运行,我想要触发处理队列的操作。这是令我困惑的部分,我仍然坚持认为Windows服务。是否有某种进程在应用程序池中的另一个线程中运行,专用于处理队列?

如果是这样,我该怎么做呢?

如果您认为我可以更好地完成整个过程,我也希望听到这一点。

由于

1 个答案:

答案 0 :(得分:1)

其中一种可能的方法是使用hangfire库。

http://hangfire.io

它非常成熟,有一个内置的仪表板,似乎它可以满足您的需求。