【发布时间】:2012-10-23 22:26:35
【问题描述】:
我正在使用 MVC3 在 C# 中创建一个网站。该网站是使用 Web 服务的客户端。 Web 服务为每个用户使用一个唯一的会话 id,它作为每个服务调用中的最后一个参数给出。登录时会获得会话 ID。
我能够获取会话 ID 并将其保存在我的用户控制器的属性中:
private string Sid
{
get
{
var sid = Session["Sid"];
return sid == null ? "" : sid.ToString();
}
set
{
Session["Sid"] = value;
}
}
在我的其他控制器中,我能够获取具有类似属性的会话 id(只是没有设置器),但是当它要求用户控制器做一些事情时,它访问自己的属性以获取 id 会话是空。
似乎会话没有在控制器之间传输,但我不知道该怎么做。我想从一个中心位置访问会话,而不是在每个控制器中都有属性,但我不知道该怎么做。
经过三天的搜索,Google 无法给我答案。你有什么想法吗?
【问题讨论】:
-
Session 应该对所有控制器都可用。您的会话是在进行中还是在进行中?如果它正在进行中,则可能进行重建或配置更改会将它们全部清除。
标签: c# asp.net-mvc-3 session