- PR -

クッキーレスセッションについて。

投稿者投稿内容
BT
ベテラン
会議室デビュー日: 2006/09/24
投稿数: 81
お住まい・勤務地: Tokyo
投稿日時: 2007-11-29 23:11
だいぶ前の投稿のようですので、スレ主さんが見ているかどうか不明ですが、自分自身の確認も含めて投稿いたします。それは違うんじゃないの?というご意見がありましたらお願いします。

確かに直接的にディレクトリ単位でのクッキーレスの切り替えはできないようで、私自身も以前ここで質問もするなどした結果、PC用と携帯用のサイトはウェブアプリを別にするべしという結論に達し、実際にそのように構築していました。
ただ、こうしてしまうとメンテナンスが面倒になるので、何とか一緒にできないものかとは常々思っていました。

しかし、少し前のMSDNオフラインのASP.NETモバイルWebコントロールのセミナーに参加したり、@ITの「.NETでモバイル・サイト開発を始めよう」の記事を読みながら触ったりしているうちに、もしかしたらうまくできるんじゃないか?という感触を持ちつつあります。

http://www.atmarkit.co.jp/fdotnet/aspnetmobile/aspnetmobile04/aspnetmobile04_02.html

この記事のページにあるように、ASP.NET 2.0からcookieless要素に設定できる値としてUseUri、UseCookies、AutoDetect、UseDeviceProfileが追加されました。
このうち、UseDeviceProfileを使うことで、同一のウェブアプリであっても同居は可能ではないかと考えています。

つまり、DeviceProfileをきちんと定義するというのが前提にはなりますが、それさえしておけば、自動的にcookieが使えるブラウザではcookielessが有効に、使えないブラウザでは無効にしてくれるのではないかと思います。

実際、手元でやってみたところでは、同一アプリ内であっても携帯エミュレータで見るとcookie文字列が付加され、IEでは通常表示されることは確認しています。

最初はAutoDetectの方が、自動判定してくれるのでいいのではないか?とも思いましたが、AutoDetectにしておくと、検索エンジンのクロールの際にcookie文字列が付加されてしまうのではないかと考えましたので検索エンジンのアクセスだと判別するためにはDeviceProfileの方が確実だろうということでこちらを選択しています。

今のところ、DeviceProfileの定義の仕方を試行錯誤している段階で検索エンジンやソフトバンクモバイルへの対応ができていないので、実機での試験はやっていませんが、おそらく同じではないかと思っています。

ただ、本当にこれでよいのか、何か問題や副作用がないのか?については自信はありません。そのあたり皆さんのご意見を聞かせていただけたらありがたいです。

ASP.NETでのモバイル開発は前述のセミナーや記事で思ったよりもできそうだという感触は得られましたので、これができれば、だいぶモバイルサイトを作りやすくなると思います。
よろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)