【发布时间】:2014-05-23 16:05:49
【问题描述】:
我正在尝试了解存储和实例化应用程序(即每个用户都可以使用的对象)和会话级别(创建的对象并且仅对用户会话可用的对象)变量的各种方式。另外,OWIN 是如何融入这一切的?
Global.asax.cs - 这可以包含一堆不同的方法。我相信 Application_Start 仅在第一个请求期间被调用。但是,这里有一些候选方法可以填充会话级变量(例如 Session_Start 和 Application_BeginRequest)。这样做的标准方法是什么?
还有 OWIN 使用的 Startup 类。我知道 OWIN 允许您存储应用程序级别的变量,但您为什么不直接使用可从 Global.asax.cs 访问的 HttpApplicationState 应用程序变量来完成此操作呢?还有——OWIN 可以处理 Session 变量吗?
【问题讨论】:
-
我认为您应该拆分并重新关注您的问题,以促进与 SO 上的人们的互动。您可能还想提供一个场景,以便读者可以构建问题并提供更适合您需求的答案。目前,您正在寻找一个知道所有这些问题的答案的人,而从统计上看,个人更有可能知道如何回答单个特定问题。
-
例如,我的应用程序是多租户的。我需要解析请求的域并以某种方式存储它,以便该请求上下文中的任何内容都可以访问它以查看它存在于哪个上下文中(即哪个站点)。
-
改写问题 William,一旦你对第一个问题有了答案,就拿出 OWIN 的东西并把它放在自己的问题中。答案可能会影响您对 OWIN 的询问。
-
我想我最大的问题是我不知道如何正确地问这个问题——从我的角度来看,OWIN 仅用于存储应用程序级别的变量,这似乎与应用程序变量完全重叠在 Global.asax.cs - 但我猜它也能做更多的事情?
-
我认为您对 OWIN 是什么以及它的用途有误解。
标签: asp.net asp.net-mvc owin