我有一个奇怪的要求,我不确定如何正确表达。
我基本上想要将最新请求的优先级排序到ASP.Net处理程序。我不确定这应该是客户端还是服务器端。我倾向于服务器端,以确保它在所有客户端上实施。
因此,当请求进入时,它们基本上是根据每个客户端的一些内部定义的时间间隔堆叠的。然后,首先处理堆栈的顶部(最近的)请求。
原因是客户端将在用户与客户端交互时请求资源。但是用户只关心最近发出的请求(想想在流文件中不断寻找 - 我想先提供最新请求,因为用户希望媒体开始播放)。
我该如何处理?我正在考虑像单身人士一样,所有请求都被发送到,并且它处理来自每个客户的堆叠请求,然后将它们发送出去进行处理。
我正在考虑其他方法来实现我的建议(不必使用堆栈)。或者我在这里描述的优点/缺点和指针。
更新:这可能是可能的,但要获得可靠性非常困难。我可以不按顺序处理请求,但有时会丢失或未收到客户端的请求。我开始认为这可能是客户端功能,而不是服务器端功能。客户应该更仔细地管理请求。
EG。实现一个监视器/计时器,它只在确定用户可能需要该资源时才发送请求。这可能是在寻求之后,或者如果这个位置变化缓慢而不是很快。
答案 0 :(得分:0)
这是一个有趣的理论问题,所以这里你可以用非常广泛的方式做到这一点:
你可能迟早会遇到有限的线程池或竞争条件或全球热核战争的某种灾难,但是你应该期待这样,看到你正在尝试开始实验的东西。