我正在使用Azure上托管的个人ASP.NET MVC5项目
我才意识到,每隔5分钟,qazxsw poi就被称为qazxsw poi
我的代码看起来像这样:
Session_OnStart
我们的想法是为每个访问该网站的用户提供一个GUID,匿名关注他正在做的事情以及他打开的页面。
但是,今天早上我没有进入我的PreProd环境,而且它每隔5分钟(大约5秒钟)被解雇的事实表明这是一个后台进程或访问网站的东西。 只有在Azure上托管时,才会在localhost测试中发生这种情况
您可能已启用Always On。你可以在下面禁用它
应用服务 - >配置 - > public void Session_OnStart()
{
Guid sessionGuid = Guid.NewGuid();
HttpContext.Current.Session.Add("_MySession", sessionGuid);
RegisterSession(sessionGuid);
logger.Log(LogLevel.Info, "Starting session with guid " + sessionGuid.ToString());
}
。
永远在线。默认情况下,如果应用程序闲置一段时间,则会将其卸载。这使系统可以节省资源。在“基本”或“标准”模式下,您可以启用“始终开启”以始终加载应用程序。如果您的应用程序运行连续的WebJobs或运行使用CRON表达式触发的WebJobs,则应启用Always On,否则Web作业可能无法可靠地运行。
PS看看Session_OnStart
可以为您做什么。
编辑:
当我的网站公开时,Always On禁用会更快吗?没有它它会很慢,它无法使用。
您遇到的启动速度很慢,因为运行您网站的过程会在一段时间不活动后关闭。必须重新启动该过程需要一些时间,因此减速。顺便说一句,这是因为ASP.NET在IIS中运行。这不是Azure特定的问题。就像General Settings说的那样,你必须修复你的应用程序。
这个问题有几种可能的解决方案,比如User Flows。另一个是切换到ASP.NET Core,因为它更快。
更多信息:Ian Kemp