加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC的排队解决方案

发布时间:2020-12-16 04:12:54 所属栏目:asp.Net 来源:网络整理
导读:我研究了为Web应用程序排队的概念(即将某些类型的作业放入队列中以供单独的工作人员完成,而不是在Web请求周期中完成). 我想知道是否有任何好的解决方案可以在ASP.NET MVC环境中使用. 有没有人有任何(好的或坏的)经历? 谢谢! 更新: 只是为了澄清,我不是在
我研究了为Web应用程序排队的概念(即将某些类型的作业放入队列中以供单独的工作人员完成,而不是在Web请求周期中完成).

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

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

谢谢!

更新:

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

1)标准情况:

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

2)我正在研究的内容:

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

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

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

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

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

UPDATE2:

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读