Asp.net mvc 控制器中的会话属性何时初始化?

Asp.net mvc 控制器中的会话属性何时初始化?,asp.net-mvc,Asp.net Mvc,控制器中的会话属性何时初始化 据我所见,调用构造函数时它没有初始化。那么当它被初始化时 从源代码来看,当ControllerActionInvoker调用操作时,控制器上下文(包含HttpContext和会话)被提供给控制器。它还可以通过过滤器主要方法上的过滤器上下文对象供过滤器使用。我从源代码中看到,当ControllerActionInvoker调用操作时,控制器上下文(包含HttpContext和会话)被提供给控制器。它也可以通过过滤器的主要方法上的过滤器上下文对象进行过滤。所以这是旧的,

控制器中的
会话
属性何时初始化


据我所见,调用构造函数时它没有初始化。那么当它被初始化时

从源代码来看,当ControllerActionInvoker调用操作时,控制器上下文(包含HttpContext和会话)被提供给控制器。它还可以通过过滤器主要方法上的过滤器上下文对象供过滤器使用。

我从源代码中看到,当ControllerActionInvoker调用操作时,控制器上下文(包含HttpContext和会话)被提供给控制器。它也可以通过过滤器的主要方法上的过滤器上下文对象进行过滤。

所以这是旧的,但我想我会把答案留给将来的人


有人说会话是在你第一次使用它时创建的。我自己的经验证明了这一点,但有一点需要注意,如果有两个动作方法同时执行,那么第一个访问会话的动作方法似乎与第二个动作方法以不同的会话结束。我在代码周围加了一个锁,试图解决这个问题,但在我的过程中,通过在前面初始化会话,最终解决了这个问题。

所以这是旧的,但我想我会把答案留给将来的人

有人说会话是在你第一次使用它时创建的。我自己的经验证明了这一点,但有一点需要注意,如果有两个动作方法同时执行,那么第一个访问会话的动作方法似乎与第二个动作方法以不同的会话结束。我在代码周围设置了一个锁,试图解决这个问题,但最终通过在进程的早期初始化会话解决了这个问题