0

例から質問を始めます。もっとシンプルになると思います。

私がやりたいことは、REQUEST_1 を Android デバイスから asp ページに送信することです。このページは、{"Year":2012} などの JSON 要求を待機しています。Page はこの json 文字列を取得し、オブジェクトに保存します (arraylist の例)。1 分後、データ {"Command","WhatIsCurrentYear"} を含む同じ ASP ページに REQUEST_2 を送信し、次の応答を取得します: {"Year",2012} (これはまだ配列リストに格納されている必要があります) .

これを行う機会はありますか?

4

2 に答える 2

0

SessionにはプロパティSession.TimeOutがあります。時間が経過すると、セッションが期限切れになります。asp.netセッションのデフォルトのタイムアウト時間は20分です。また、ユーザーがブラウザを閉じると、モードがInProc(CookieまたはCookieなし)の場合もセッションが期限切れになります。InProcセッションプロバイダーでは、IISは、このセッションの内容を無効にする警告なしに、いつでもアプリケーションプールをリサイクルできます(非アクティブ期間、特定のCPU /メモリしきい値に達したなど)。変数はポストバックごとに初期化されるため、以前に配列リストオブジェクトにデータを保存していた場合、そのデータは失われます。ポストバック中にデータを保存するには、ViewStateを使用できます。

于 2012-07-27T15:02:50.557 に答える
0

セッションにアクセスするためのクラスを作成しました

public static IPerson User
{
    get
    {
        if (HttpContext.Current.Session == null || HttpContext.Current.Session[UserConstant] == null)
            return new Student();
        return (IPerson)HttpContext.Current.Session[UserConstant];
    }
    set
    {
        HttpContext.Current.Session[UserConstant] = value;
    }
}

IPerson は、任意のオブジェクトに置き換えることができます。

于 2012-07-27T15:09:37.220 に答える