时间: 2018/09/29 09:02:08
1、Global.asax中添加对Session的支持,重新Init方法:
public override void Init()
{
this.PostAuthenticateRequest += (sender, e)
=> HttpContext.Current.SetSessionStateBehavior
(System.Web.SessionState.SessionStateBehavior.Required);
base.Init();
}
2、WebConfig中添加跨域支持:
"Access-Control-Allow-Origin" value="http://*.*.*.*:8088" />
"Access-Control-Allow-Credentials" value="true" />
"Access-Control-Allow-Headers" value="Content-Type" />
"Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
3、写Session的Controller
[RoutePrefix("Reg")]
public class RegController : ApiController
{
[Route("RegUser")]
[HttpGet]
public bool RegUser(string userName)
{
System.Web.HttpContext.Current.Session["User"] = userName;
return true;
}
}
4、读Session的Controller
[RoutePrefix("Login")]
public class LoginController : ApiController
{
[Route("GetLogin")]
[HttpGet]
public string GetLogin()
{
string userName = string.Empty;
if(System.Web.HttpContext.Current.Session["User"]!=null)
{
userName = System.Web.HttpContext.Current.Session["User"].ToString();
}
return userName;
}
}
5、前端jQuery调用时加上参数crossDomain: true 和 xhrFields: { withCredentials: true}。