ASP.NETのクッキー
※この章を読むにはクッキーの基礎の理解が必要です。
クッキーの発行
クッキーを発行するのはサーバー側の処理になります。レスポンスのヘッダーに下のような形で値を書き出すとクライアントの ブラウザがその値をクッキーとして保存してくれます。
Set-Cookie: UserID=123; 
ASP.NETのコードビハインドでクッキーを発行するにはC#で以下のように記述します。
Response.Cookies.Add(new HttpCookie("UserID", "123"));
Responseオブジェクトのクッキーに追加するとクライアントにクッキーが送信されます。Requestオブジェクトではない点に注意してください。
クッキーの読取
クライアントのブラウザから送信されてきたクッキーを読み取るにはRequestオブジェクトのCookiesプロパティを使用します。
var cookie = Request.Cookies["UserID"];
var userID = cookie.Value;
複数の値を含むクッキー
クッキーには複数の値を含めることが可能です。
            var hc = new HttpCookie("Test");
            hc.Values.Add("Test1", "12");
            hc.Values.Add("Test2", "34");
            hc.Values.Add("Test3", "56");
            Response.Cookies.Add(hc);
実際のレスポンスのヘッダには以下の値が含まれています。
Set-Cookie: Test=Test1=12&Test2=34&Test3=56; path=/
次回のリクエスト時にはRequestオブジェクトから複数のクッキーの値を取得可能です。 ValueにはTest1=12&Test2=34&Test3=56という値が入っています。それぞれの値はValuesプロパティから取得可能です。
Request.Cookies["Test"].Values["Test1"];
Create at 2013/06/03 LastUpdate 2013/06/03