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

本文关键字:发现 缓存 周期 控制器 Api NET Web ASP | 更新日期: 2023-09-27 17:50:58

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

api需要多长时间来"重新加载"控制器信息?还是只在第一次服务呼叫时加载一次?

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

发生的事情是你的网站空闲超过20分钟(默认值),所以IIS从内存中卸载它,因此,网站从内存中卸载后的第一个请求需要一些时间,因为IIS正在将网站加载回内存,这也被称为预热网站。

你可以通过改变你的网站应用程序池的"空闲超时"属性来保持你的网站温暖/在内存中更长的时间,你会在高级应用程序池设置的"进程模型"部分找到这个设置。

或者,如果你使用的是IIS 8.0,你可以利用应用程序初始化,它将允许你将你的应用程序池设置为"始终运行"