如何在为.Net使用Nancy Razor设置时获取会话ID?

时间:2016-03-28 15:43:32

标签: asp.net razor nancy

我需要将SessionID添加到布局中的全局跟踪脚本中,但显然不能从Nancy的视图直接访问HttpContext,所以我不能做类似的事情:

@HttpContext.Current.Session.SessionID.ToString()

我从其他人那里继承了这个应用程序,并且根本没有使用Nancy,可以使用一些帮助。

1 个答案:

答案 0 :(得分:0)

在Nancy中没有会话ID这样的东西 - 默认情况下,Nancy会话只是一个加密并存储在cookie中的字典,因此会话本身由客户端完整呈现而不是存储在服务器端,通过使用ID与客户关联。

您需要做的是使用唯一标识符设置自己的Cookie并将其用作您的"会话" ID。或者你可以为会话本身添加一个唯一的标识符,但要注意cookie的大小有限,浏览器往往会截断太大的cookie(导致会话字典为空),所以把这样的东西放到自己的cookie中尽可能。