对于MVC 5应用程序,当我调试解决方案时,只有在第一个请求时,断点才会到达RouteConfig类,在病房中出现下一个请求时,它不会再次填充路由表。
问题,路由表存储在哪里,第二个请求如何匹配?
谢谢,
在RouteTable
被实现为单例。在ASP.NET(或MVC)中,单例的生存期一直持续到应用程序池被回收为止。
namespace System.Web.Routing
{
using System;
using System.Runtime.CompilerServices;
[TypeForwardedFrom("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
public class RouteTable
{
private static RouteCollection _instance = new RouteCollection();
public static RouteCollection Routes
{
get
{
return _instance;
}
}
}
}
因此,所有网络请求都将使用RouteTable
,第一,第二或其他相同的实例。
在RouteTable
当应用程序池回收,因为它是在初始化内自动重新填充Application.Start
事件(通常Global.asax
)。当应用程序首次启动(或应用程序池回收)时,此事件仅触发1次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句