我正在我的WebAPI Self Hosted应用程序中进行一些负载测试,并发现Ninject的Cache Pruning会使应用程序暂停几秒钟(截屏中的负载分析)。
如何避免缓存修剪停顿请求?
我所做的就是设置HttpSelfHostConfiguration.DependencyResolver = new NinjectDependencyResolver(new StandardKernel())(配置省略)
有没有办法在请求结束时删除对象?
更新
从这里开始https://github.com/ninject/ninject/issues/37,似乎只能在Ninject.Web和Ninject.Web.MVC预期在请求结束时删除该对象
UPDATE /注:
我一直在使用nuget包Ninject.Web.WebApi-RC以及AttributeRouting.WebApi.Hosted。
更新
我更新了范围和解析器定义,现在我发现我有一个挂起...我现在只是测试一个返回字符串常量的动作。
答案 0 :(得分:1)
使用https://nuget.org/packages/Ninject.Web.WebApi.Selfhost
以下是如何使用它的示例: https://github.com/ninject/Ninject.Web.WebApi/tree/master/src/Ninject.Web.WebApi.Selfhost
它在请求结束时处理对象InRequestScope。