我正在寻找一种机制来限制使用ASP.NET WebAPI公开的服务的并发连接数。
为什么呢?因为此服务正在执行硬件资源上昂贵的操作,并且我希望防止在压力下降级。
更多信息:
我正在寻找开箱即用的东西(像IIS配置设置一样简单),但我找不到我需要的东西。
任何线索?
谢谢!
答案 0 :(得分:1)
扩展您的服务可能比限制请求数量更好。您可以将繁重的处理发送到某些后台作业,并保留您的API服务请求。
但假设上述情况无法完成,您将需要使用其中一个限制包,或者如果没有满足您的要求,请自行编写。
我建议从WebApiContrib开始使用ThrottlingHandler 您可以通过正确实现GetUserIdentifier方法来满足您的需求。
如果没有,您将需要实现自己的MessageHandler,并且提到的处理程序将是一个很好的起点。