NancyでSessionを扱う
ナンシーはデフォルトではSessionが無効になっています。
有効化するにはBootstrapperの初期化時に以下を呼び出します。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Nancy; using Nancy.Session; namespace NancySessionSample { public class MyBootstrapper : DefaultNancyBootstrapper { protected override void ApplicationStartup(Nancy.TinyIoc.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) { base.ApplicationStartup(container, pipelines); CookieBasedSessions.Enable(pipelines); } } }
使い方は今まで通り。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Nancy; namespace NancySessionSample { public class MyModule : NancyModule { public MyModule() : base() { Get["/"] = _ => { return "main"; }; Get["/aaa/{val}"] = p => { string val = p.val; Session["aaa"] = val; return "update session aaa"; }; Get["/bbb/{val}"] = p => { string val = p.val; Session["bbb"] = val; return "update session bbb"; }; Get["/dump"] = _ => { string aaa = Convert.ToString(Session["aaa"]); string bbb = Convert.ToString(Session["bbb"]); return string.Format("aaa:{0}, bbb:{1}", aaa,bbb); }; } } }