Почему WebMethod Access Session State без EnableSessionState?

У меня есть метод на странице, помеченный как[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:



    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;
    }


    
    Get Session Variable

Ответы на вопрос(2)

Ваш ответ на вопрос