2

ASP.NET (4.0) の 10 人から 15 人の開発者のチームを担当していますが、コードで同じセッション名を使用するのを止めるにはどうすればよいですか? つまり、開発者はセッション名が既に存在することをどのようにして知り、別の名前を使用する必要があるのでしょうか。私の場合、すべての開発者が Session["ID"] を使用しています。Session["ID"] が既に使用されている場合、開発者は同じセッション名を使用しないように何らかの情報を取得する可能性があります。

これは簡単であるか、軌道から外れている可能性があります..しかし、私はこの問題に直面しています。ありがとう

4

1 に答える 1

2

開発者がすべてセッション値に同じキーを使用しないようにすることについて話していると思います。

この問題に対処する最も簡単な方法は、命名規則を確立することです。

また、セッション関連の値をヘルパー クラスにラップして、この問題を回避し、そのようなデータの消費をよりクリーンに (そしてより抽象化) することも役立つと思います。

public static class MyClass
{
    public static UserId
    {
       get{ return (int)Session["UserId"]; }
       set{ Session["UserId"] = value; }
    }
}

適切なソース管理を使用している限り、競合はすぐに明らかになります。

キー名を非常に明確にしたい場合は、クラス内の個別のフィールドとしてそれらをすべて同じ場所にグループ化して管理できます。

public static class MyClass
{
    private static readonly string _userIdKey = "UserId";
    private static readonly string _anotherKey = "AnotherKey";

    public static UserId
    {
       get{ return (int)Session[_userIdKey ]; }
       set{ Session[_userIdKey ] = value; }
    }
}

最後に、これらのヘルパー クラスに対して単体テストを実行して、キーが上書きされていないことを確認できますが、これはおそらくやり過ぎです。

于 2012-04-22T19:49:11.737 に答える