Ninject WebAPI.SelfHost负载下的性能问题(每隔几秒钟几秒钟)

时间:2013-03-05 20:40:02

标签: c# performance asp.net-web-api ninject self-hosting

我正在我的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。

enter image description here

更新

我更新了范围和解析器定义,现在我发现我有一个挂起...我现在只是测试一个返回字符串常量的动作。

enter image description here

1 个答案:

答案 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。