【发布时间】:2017-12-15 06:24:30
【问题描述】:
基本上我试图从.html page 中检查Session 的值。所以我做了什么
在 ASPX 中
我将值存储在session 中并重定向到html 页面。
Session["user_id_no"] = "1234";
Response.Redirect(url);
来自 HTML 我正在调用 REST GET 方法。
var check= $.ajax({
url: "/loginCheck",
type: 'GET',
success: function (result) {
return result;
},
async:false
});
REST API 和方法实现
[HttpGet]
[Route("loginCheck")]
public bool checkLoginStatus()
{
SessionClass sc = new SessionClass();
bool user_id_check = sc.check("user_id_no");
return user_id_check;
}
会话类实现为
public class SessionClass : System.Web.UI.Page
{
public bool check(string sessionName)
{
if (Session[sessionName] == null)
return false;
return true;
}
}
但是我遇到了异常。
HResult=-2147467259 Message=Session 状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中。
但是在我的web.config
<sessionState mode="InProc" timeout="30" />
我也遇到了一些问题
【问题讨论】:
-
@Div from
4th no SO link在接受的答案中说要配置任何一个enableSessionState="true"或sessionState mode="InProc"我已经完成了第二个。
标签: javascript asp.net ajax rest session