我们都知道dotnet程序在重启后,第一次访问会很慢。因为有JIT compile,但是第二次访问会快很多,当然nop也不例外。今天使用NopCommerce4.2遇到一个问题:访问/Admin路径慢的问题。
1、本地环境。
启动dotnet Nop.Web.dll的,第一次访问/Admin响应时间为大概40多秒到1分多钟,第二次访问响应时间就是3-400毫秒,很快。
2、线上环境
一样的启动dotnet Nop.Web.dll的,第一次访问/Admin响应时间为大概1分多钟,第二次访问响应时间还是要1分多钟。
线上和线上都是一样的配置和代码。
最后通过以下优化,最后效果达到和响应时间第一次访问20多秒,第二次200多毫秒。
解决方案
一、去掉nopNews相关代码
\Areas\Admin\Views\Home\Index.cshtml去掉如下代码:
二、adminAreaSettings.CheckCopyrightRemovalKey设置为false
这个设置默认为true
效果截图:
第一次:
第二次:
感谢站长的文章 最近一直在学习4.2版本NOP,虽然文章都是MVC的但是还是帮助很大 在进后台的时候 HomeModelFactory里面 var rssData = _cacheManager.Get(NopModelCacheDefaults.OfficialNewsModelKey, () => _nopHttpClient.GetNewsRssAsync().Result); 总会有Task Cancel问题应该是异步使用顺序的问题 var rssData = _cacheManager.Get(NopModelCacheDefaults.OfficialNewsModelKey, () => _nopHttpClient.GetNewsRssAsync()); for (var i = 0; i < rssData.Result.Items.Count; i++)手工更改后可以运行 不知道有没有遇到同样问题的同学