启动第二个会话时,MVC 中的路由如何发生?
Posted
技术标签:
【中文标题】启动第二个会话时,MVC 中的路由如何发生?【英文标题】:How does routing happen in MVC when second session is started? 【发布时间】:2021-12-27 14:43:53 【问题描述】:我知道Application_Start()
方法在ASP.Net
中只会被调用一次,在MVC应用程序的Application_Start()
方法中我们会调用RegisterRoutes()
来创建路由表。
这是否意味着路由表只会在第一个请求到达服务器时创建一次?或者对于新用户(新会话)的每个新请求,都会创建路由表?
【问题讨论】:
如果你在那里放置一个调试断点,用调试器启动你的应用程序,然后开始向它发出请求,你观察到会发生什么? @David 我已经这样做了,我观察到 Application_Start() 只会被调用一次,而 Session_Start() 将在新会话启动时执行。 【参考方案1】:首先,停止学习过时的上下文。 Global.asax
,它背后的代码.cs
和Application_Start()
和其他神奇的方法是旧的.NET Framework ASP.NET 4 的处理方式。如今,新的开发和教育应该发生在 .NET Core 上,例如参见 Migrate from ASP.NET to ASP.NET Core。
至于您的问题:路由信息在启动时构建一次,然后在 Web 应用程序存在期间一直保存在内存中。
【讨论】:
以上是关于启动第二个会话时,MVC 中的路由如何发生?的主要内容,如果未能解决你的问题,请参考以下文章