webapi開啓session支持(默認關閉)
使用webapi開發時,通過HttpContext.Current.Session獲取的session一直爲null後來發現 vs默認關閉session,下邊爲方法
在文件目錄下的Global.asax.cs文件下注冊開啓session支持事件
代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
namespace session
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
public override void Init()
{
//註冊事件
this.AuthenticateRequest += WebApiApplication_AuthenticateRequest;
base.Init();
}
//開啓session支持
void WebApiApplication_AuthenticateRequest(object sender, EventArgs e)
{
//啓用 webapi 支持session 會話
HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}
}
}