繁体   English   中英

ASP.NET Web Api控制器发现缓存期

[英]ASP.NET Web Api controller discovery caching period

我正在使用自定义程序集解析器从Web Api项目的不同文件夹中加载许多控制器。 我的问题是服务电话花费的时间太长。 对于第一次呼叫,这是可以的,因为所有与控制器加载相关的人员都去了那里,并且随后的服务呼叫会花很短的时间,但是在大约1个小时的非活动Api(不进行服务呼叫)之后,第一次呼叫又花费了很长时间,可能是控制器发现过程再次发生?

api需要多长时间才能“重新加载”控制器信息? 还是在第一次服务呼叫时仅加载一次?

发生的情况是您的网站闲置了20分钟以上(默认时间),因此IIS从内存中卸载了该网站,因此,从IIS中将网站从内存中卸载回网站后,第一个请求会花费一些时间记忆,也称为热身网站。

您可以通过更改网站“应用程序池”的“空闲超时”属性来保持网站长时间处于温暖状态/在内存中,您可以在高级应用程序池设置的“处理模型”部分找到此设置。

另外,如果您使用的是IIS 8.0,则可以利用应用程序初始化功能,该功能可让您将应用程序池设置为“始终运行”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM