としてマークされたページ[WebMethod]
に、操作の一部としてセッション状態を使用するメソッドがあります。EnableSessionState
このコードを書いた後、でセッション状態を使用するときに使用する必要のあるメモリのフラッシュが突然ありました[WebMethod]
(たとえば、ここを参照してください:http: //msdn.microsoft.com/en-us/library/byxd99hx.aspx) 。しかし、それはうまく機能しているようです。なんで?
背後にあるサンプルコード:
protected void Page_Load(object sender, EventArgs args) {
this.Session["variable"] = "hey there";
}
[System.Web.Services.WebMethod]
public static string GetSessionVariable() {
return (string)HttpContext.Current.Session["variable"];
}
サンプル本文のhtml:
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getSession() {
$.ajax({
type: 'POST',
url: 'Default.aspx/GetSessionVariable',
data: '{ }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
document.getElementById("showSessionVariable").innerHTML = msg.d;
}
});
return false;
}
</script>
<form id="form1" runat="server">
<div id="showSessionVariable"></div>
<button onclick='return getSession()'>Get Session Variable</button>
</form>