0

基本的に、複数のページにまたがって永続化されるオブジェクトがあるため、Sessionを使用してオブジェクトを保存および取得します。セッションキーにGUIDを使用しています。静的コンストラクターを使用してGUIDを作成します。

オブジェクトの例を次に示します。

class Customer
{
    private static readonly string _sessionKey;

    public static string SessionKey
    {
        get { return _sessionKey; }
    }

    static Customer()
    {
        _sessionKey = Guid.NewGuid().ToString();
    }
}

次に、次のようにコードで使用します。

Session.Add(Customer.SessionKey, new Customer());

..。

Customer C = Session[Customer.SessionKey] as Customer;

私は個人的に、Sessionキーのaconst stringまたはリテラルの代わりにこの方法を好みます。stringこれに欠点があるのか​​、それとも他にどのようなアプローチを使用したのか疑問に思っていますか?

4

2 に答える 2

4

なぜこれを行うのですか?定数を定義するだけで完了です。反復処理したり、デバッガーを使用したりすると、十分に説明的ではありませんSession

于 2012-08-13T20:51:37.987 に答える
0

セッションにオブジェクトがある場合Customer- 定数名で保存します。それ以外の場合は、オブジェクトのコレクションをCustomer定数名で保存することを検討してください。

注: デフォルトのメモリ内プロバイダーではなく、他の状態プロバイダー (SQL/状態サービス) を使用する予定がある場合は、Customerオブジェクトがシリアル化されていて、要求間で意味があることを確認してください。

于 2012-08-13T20:57:55.120 に答える