- - PR -
cscでのコンパイルでResponse.Cookiesを使いたい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-11-20 15:36
どもです。最近.NETで色々試行錯誤中のがるです。
# そのうちまとめます(笑 んっと。今日もまた若干「面倒なのだろうか?」というネタで恐縮 なのですが。 やりたいのは以下のような内容です。 ・クッキーの読み込みを共通化したいので foo.csファイルを作って 適当なクラスを作って 適当なメソッド内でCookieを読み込み ・foo.csファイルをcscでコンパイルしてfoo.dllを作成 ・dllを使う ということをやりたいのですが。 どうしてもコンパイルエラーから抜け出せず、ちと悩んでおります。 多分、スタンダードだと思われる HttpCookie cookie = Response.Cookies[なまえ]; で扱おうとしているのですが、コンパイルすると 型、または名前空間'Response'が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください と出てしまいます。 なんとなく「Responseの実態がないからなんだろうなぁ」とか 予想はしてみるのですが…それ以降がどうも手詰まりで。 Cookieを読めれば方法やクラス/メソッドにはさほどこだわりはないの ですが。 Cookieの読み込みを「DLL化して」やっている方がいらっしゃったら、 是非お知恵を拝借したく。 よろしくお願いいたします。 …もし「どーしても無理」そうなら…いっそ環境変数の読み込みと ヘッダの自力での出力で…とか、かなり力技な事も考えては いるのですが(苦笑 | ||||||||
|
投稿日時: 2004-11-22 08:47
・・・(中略)・・・
そのクラスが Response というメンバを持っていないから、でしょう。 Webフォームとかで Response が使えるのは、Response というメンバを持つ System.Web.UI.Page を継承したクラスだからですし。 (でもPageクラスはあくまでもWebフォームのコード記述用であって共通クラス向きでないですから、今回のケースではNGでしょう。) System.Web.HttpContext.Current で HttpContext を取得して、HttpContextのメンバである Response を使用するのが良いかと。 # ただし、HttpContext.Current が null の場合も考える必要はあります。 [ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2004-11-22 08:54 ] | ||||||||
|
投稿日時: 2004-11-26 14:23
どももです。がるです。
遅ればせながら。どもありがとうございました。うまくいきました ^^ で。 後学のため、ってのを含めて、ソースを晒します。 ただ、若干作り変えもあるので、これを見て使う方は 色々ご注意ください。 1.Cookieの扱いについて どうも、ASP.NETのCookieは大まかに「二種類」あるようです。 で、私は諸所事情がありまして、旧来のCookieを使っています。 新しいCookieを使われる方は、適宜修正などしてみてくださいませ。 共通ルーチン「web_util.cs」
テスト用コード「web_util.aspx」
| ||||||||
|
投稿日時: 2004-11-26 14:44
あまり聞いたことないんですけど、これってなんでしょうか? | ||||||||
|
投稿日時: 2004-11-26 15:12
え〜と、私もわかりませんが、次のことでしょうか?
HttpRequest.Cookies プロパティ HttpResponse.Cookies プロパティ にある
# 私はCookieをほとんど使っていませんが、上に示したものならば、単に上り/下りの違いに見えます……。 | ||||||||
|
投稿日時: 2004-11-26 15:32
どもでふ。がるです。
んっと。ASP.NETのCookieは、実際に発行されるCookieのレベルで A:
B:
の二種類の発行方法が可能です。 んで、実際の、いわゆる「COOKIE_STRING」でチェックしてみると Aは、test=name=value Bは、test222=value という設定値となります。 Bは(従来のCGI的に)一般的なCookieだと思います。 一方でAは、従来はあまり見なかったタイプになります。 予想としては、configファイルやiniファイルなどの、 name=value から [カテゴリ] name=value へ の変化と同様の進化をしたものだと推測はできるのですが。 今回、私の方では「途中の特殊なProxyへの依頼をCookieを用いて 行う」という仕様のため、旧来の「name=value」にする必要が あり…という感じになります。 この辺が「二種類あるCookie」という話につながります。 | ||||||||
|
投稿日時: 2004-11-29 08:53
それは、別に「cookie に2種類ある」というわけではなく、「cookieに名前/値ペアを複数格納する」ためのインタフェースというだけなのではないでしょうか。
|
1