为 WebAPI 开启 Session 支持

需要在Global.asax.cs当中重载Init方法:

public override void Init()
{
    PostAuthenticateRequest+=SessionOpen;
    base.Init();
}

这里的SessionOpen是一个委托,方法签名为:

void Action(object sender,EventArgs e);

即:

private void SessionOpen(object sender,EventArgs e)
{
    HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
}