我正在使用ASP.NET Web API 2.2和Owin构建Web服务,我观察到每个控制器的调用将由在服务器端运行的单独线程提供服务,这并不令人惊讶,也是我预期的行为。
现在我遇到的一个问题是,因为服务器端操作对内存的需求很高,所以如果同时有超过X个用户调用,服务器代码很可能会抛出内存不足异常。
是否可以设置全局“最大操作计数”,以便Web Api可以排队(而不是拒绝)传入的呼叫,并且只在有空闲插槽时才继续进行。
我无法以64位运行Web服务,因为一些引用的库不支持64位。
我还查看了像https://github.com/stefanprodan/WebApiThrottle这样的库,但它只能基于调用频率进行节流。
谢谢
现在我遇到的一个问题是,因为服务器端操作对内存的需求很高,所以如果同时有超过X个用户调用,服务器代码很可能会抛出内存不足异常。
是否可以设置全局“最大操作计数”,以便Web Api可以排队(而不是拒绝)传入的呼叫,并且只在有空闲插槽时才继续进行。
我无法以64位运行Web服务,因为一些引用的库不支持64位。
我还查看了像https://github.com/stefanprodan/WebApiThrottle这样的库,但它只能基于调用频率进行节流。
谢谢