2017-07-17 3 views
0

は、私は次のようにクラスを持っている:C#でリストを含むセッション変数をクリアするには?

public class Employee 
{ 
    public int EmployeeID { get; set; } 
    public string Name { get; set; } 

    public List<int> ProjectIDs { get; set; } 
} 

とある時点で私はこのように、セッション変数にリストを保存:

List<Employee> employees = new List<Employee>(); 
// populate employees 

Session["EmployeeList"] = employees; 

私はそれを使用して終わりだ、私はクリアしたいですそれ、私ん:

Session["EmployeeList"] = null; 

社員と名前をクリアすることではなく、それにだList<int> ProjectIDsSession["EmployeeList"]が完全にクリアされるようにするにはどうすればいいですか?

+2

これは必要ありません。ガベージコレクタは、その仕事をどのように行うかを知っています。 – SLaks

+0

@SLaksさんが私の質問にスペルミスを修正しました。私は、セッション変数の 'List 'がテスト時にクリアされなかったことを指摘し、 'EmployeeID'と' Name'は両方ともクリアされていることを指摘しました。 – Darren

+0

あなたは 'Session [" EmployeeList "]'に 'null'を割り当てて、それからあなたは' Session ["EmployeeList"] 'から有効なリストを引き出すことができますか?それは正しいとは言えません。 –

答えて

0

あなたがすべきではないと言う何、ところで

Session.Remove("EmployeeList"); 
を言っ Sessionオブジェクトに Remove()メソッドを使用することができます。セッションオブジェクトをヌルに設定した後、 Session["EmployeeList"] = null; ...そのキーで同じセッションオブジェクトを取得しようとすると、はnullを返します。

+0

あなたはそうです、コードはセッションに保存された別の場所に戻していたことが判明しました。ありがとう! – Darren

関連する問題