ASP.NET MVC的排队解决方案

前端之家收集整理的这篇文章主要介绍了ASP.NET MVC的排队解决方案前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我研究了为Web应用程序排队的概念(即将某些类型的作业放入队列中以供单独的工作人员完成,而不是在Web请求周期中完成).

我想知道是否有任何好的解决方案可以在ASP.NET MVC环境中使用.

有没有人有任何(好的或坏的)经历?

谢谢!

更新:

只是为了澄清,我不是在谈论排队传入的请求.我会试着说明我的意思……

1)标准情况:

>来自浏览器的请求
>服务器处理开始
>长期工作开始
>长期工作完成
>服务器处理完成
>响应返回浏览器

2)我正在研究的内容

>从浏览器中获取
>服务器处理开始
>长期工作排队
>服务器处理完成
>响应返回浏览器

在另一个过程中(可能在发送响应之后):

>从队列中取出长期工作
>长期工作开始
>长期工作完成

在第一个实例中,用户已经等待很长时间来进行服务器重新计算,在第二个实例中它很快.

当然,某些类型的工作适合于此,有些则不适合.

UPDATE2:

客户端不必立即使用长作业的结果进行更新.只要用户碰巧刷新页面(当然,在作业完成之后),这些更改就会在应用程序中显示出来.

想想堆栈溢出中发生的一些事情 – 它们不会立即在应用程序的每个部分更新,但这种情况很快发生 – 我怀疑其中一些工作正在排队.

解决方法

将作业数据发布到 MSMQ queue中,并让Windows服务处理队列中的项目.或者,让Web请求生成一个处理队列中项目的进程.

猜你在找的asp.Net相关文章