web api 如何实现多用户同时请求时,web api如何实现队列处理

问题描述

webapi如何实现多用户同时请求时,webapi如何将请求加入到队列中,进行队列先后处理,工作原理是怎样的,因为网上的webapi资料真的不是很多,没有比较浅显的比喻进行讲解,比如有10个水果,如果多用户请求同时从webapi获取时,就要看先后,如果第一个拿了5个,第二个请求六个,就会返回获取水果失败,后面的再继续

解决方案

解决方案二:
拿水果的成功失败是靠数据库或者程序内部处理并发来控制的吧,并不是去控制webapi本身的请求数量
解决方案三:
引用1楼xdashewan的回复:

拿水果的成功失败是靠数据库或者程序内部处理并发来控制的吧,并不是去控制webapi本身的请求数量

单多个用户同时请求了Action,水果是比较简单的比较,忘了加上一个问题,单我这个Action处理时,因为当中有很多条件对比等,可能会有些耗时处理数据,比如在第一个在处理拿5个水果时有一定的耗时,第一用户的请求必须等到第一个处理完后,才能知道是否可以拿到6个水果
解决方案四:
第二用户的请求必须等到第一个处理完后,才能知道是否可以拿到6个水果,打错字了
解决方案五:
webapi网上介绍的,大多数直接调用自定义类里的Action来返回数据,那如何webapi能够实现和服务端那样进行处理,接收到请求,放入队列中,有个定时器循环读取,进行按队列顺序处理返回。webapi是否能够实现这种处理,能实现的话,工作原理是怎样的
解决方案六:
引用4楼foshanfdhjp的回复:

webapi网上介绍的,大多数直接调用自定义类里的Action来返回数据,那如何webapi能够实现和服务端那样进行处理,接收到请求,放入队列中,有个定时器循环读取,进行按队列顺序处理返回。webapi是否能够实现这种处理,能实现的话,工作原理是怎样的

WEB都是多线程并发的,不适合你说的队列模式。你所需要的并发的数据管理,加锁可以了。
解决方案七:
webapi本来就是多线程,怎么能这样玩?你在其内部可以使用一个staticlock或者调用其他单例再或者使用数据库等
解决方案八:
统一楼上的这事跟webapi没啥关系你内部逻辑用个lock
解决方案九:
引用7楼u011710947的回复:

统一楼上的这事跟webapi没啥关系你内部逻辑用个lock

统一->同意
解决方案十:
引用8楼u011710947的回复:

Quote: 引用7楼u011710947的回复:
统一楼上的这事跟webapi没啥关系你内部逻辑用个lock

统一->同意

同意,加锁,线程同步问题.
解决方案十一:
这就是可用量的问题,加锁,减去拿走的,返回可用量,解锁

时间: 2024-10-12 13:55:46

web api 如何实现多用户同时请求时,web api如何实现队列处理的相关文章

【ASP.NET Web API教程】4.1 ASP.NET Web API中的路由

原文:[ASP.NET Web API教程]4.1 ASP.NET Web API中的路由 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 4.1 Routing in ASP.NET Web API 4.1 ASP.NET Web API中的路由 本文引自:http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api

Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

原文:Asp.Net Web API 2第十三课--ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web API中的JSON和XML格式化器. 在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取

【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化

原文:[ASP.NET Web API教程]6.2 ASP.NET Web API中的JSON和XML序列化 谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予"推荐".但前几天有人询问为何很久没有更新,这让我感觉把这文章翻译出来还是有价值的.为此,本人打算将此工作继续下去.这些关于Web API的技术文章均由微软专业人员撰写,虽然文章作为博客帖子而写得比较简单

【ASP.NET Web API教程】4.3 ASP.NET Web API中的异常处理

原文:[ASP.NET Web API教程]4.3 ASP.NET Web API中的异常处理 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内容. Exception Handling in ASP.NET Web API ASP.NET Web API中的异常处理 本文引自:http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling

【ASP.NET Web API教程】5.5 ASP.NET Web API中的HTTP Cookie

原文:[ASP.NET Web API教程]5.5 ASP.NET Web API中的HTTP Cookie 5.5 HTTP Cookies in ASP.NET Web API 5.5 ASP.NET Web API中的HTTP Cookie 本文引自:http://www.asp.net/web-api/overview/working-with-http/http-cookies By Mike Wasson|September 17, 2012 作者:Mike Wasson | 日期:

大叔也说Xamarin~Android篇~调用远程API接口,发POST请求

原文:大叔也说Xamarin~Android篇~调用远程API接口,发POST请求 Xamarin我们在上节已经教大家如何去部署它的环境了,今天来说一个实际的例子,使用android客户调用.net web api的一个接口,并发送POST请求,当服务端回到请求后做出响应,客户端android将响应的内容输出,并跳换到别一个Activity页面,在新视图上加载网页内容到webView控件上,整个流程结束! 一 在主页面上添加几个表单元素,账号,密码,登陆按钮,并在Activity类的OnCrea

【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器

原文:[ASP.NET Web API教程]5.4 ASP.NET Web API批处理器 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内容. Batching Handler for ASP.NET Web API 5.4 ASP.NET Web API批处理器 本文引自:http://bradwilson.typepad.com/blog/2012/06/batching-handler-for-web-api.html Brad W

JavaScript跨域请求RESTful Web Service

当我们用js请求RESTful Web Service的时候,通常会出现跨域无法访问的问题,也就是无法正常得到我们要的值.jsonp是个解决问题的方法.但是,我们希望访问RESTful Web Service就像一般的ajax方法一样,不用每个都去搞一个jsonp和callback.这就需要我们在服务端进行一些设置,下面我用一个简单的 Filter来进行说明,其他比较复杂的情况根据自己的需求进行改动. import java.io.IOException; import javax.servle

如何在ASP.net页面中请求远程Web站点

问:如何在已有ASP.net页面中,去请求远程WEB站点,并能传参,且得到请求所响应的结果.用下边的小例子讲解具体功能的实现: 首先,我们想要请求远程站点,需要用到HttpWebRequest类,该类在System.Net命名空间中,所以需要引用一下.另外,在向请求的页面写入参数时需要用到Stream流操作,所以需要引用System.IO命名空间. 以下为Get请求方式: Uri uri = new Uri("http://www.cnsaiko.com/");//创建uri对象,指定