ASP.NET Univarsal Providersのセッションプロバイダって、セッションの破棄もしてくれるの?という話題から。
結論から言うと、「期限切れのセッションは削除してくれます。但しパフォーマンスに問題がありそうなやり方で。」となります。
@kazuk さんにさらっと見てもらえたので先に結論がわかりました。ありがとうございます。
さて実際にその様を見てみましょうか。
ASP.NET Univarsal Providersのセッションプロバイダって、セッションの破棄もしてくれるの?という話題から。
結論から言うと、「期限切れのセッションは削除してくれます。但しパフォーマンスに問題がありそうなやり方で。」となります。
@kazuk さんにさらっと見てもらえたので先に結論がわかりました。ありがとうございます。
さて実際にその様を見てみましょうか。
さっきの投稿でも書いた System.Web.Providers ですが、名称としては ASP.NET Universal Providers というそうです。
簡単に何をするものか説明すると、「ASP.NET におけるセッションステート、メンバシップ、ロール、プロファイル機能を、SQL Compact と SQL Azure にも対応させるツール」 という感じでしょうか。パクリですけど。
Node.js、Ruby、Python を Windows Azure で利用する Smarx Role ~ クラウドカバー Episode 48 より引用
ASP.NET におけるセッションステート、メンバシップ、ロール、プロファイル機能を、SQL Compact と SQL Azure にも対応させるツール “ASP.NET Universal Provider” がアルファ版としてリリースされました。
これにより、これまでのオンプレミスな Windows & SQL Server という組み合わせに加え、低トラフィックな Web サイトでは共有ホスティング & SQL Compact を利用、トラフィックが多い Web サイトでは Windows Azure & SQL Azure を利用する、といったことが可能になります。
ということで便利でナイスなプロバイダなわけですが、現時点でnugetから入手できるASP.NET Universal Providerは 0.1です。
でも、ASP.NET MVC 3 Webロールテンプレートに含まれる System.Web.Providers は1.0扱い?なんですよね。アセンブリも違うもののようです。(中身まで見たわけじゃないですがバイナリは異なる)
そのうちNugetにもあがる気はしますが、とりあえず正式版?がASP.NET MVC 3 Webロールテンプレートには含まれてるようです。
ちなみにアセンブリは<プロジェクトフォルダ>\packages\System.Web.Providers.1.0 のLibにあります。EULAやReadme.htmlもあるので使い方とか参考にどうぞ。
これはちゃんと使いこなしたいですね!
※EULAのどこどう見たらGoLiveなのか詳しい人に教えてもらいたいところ…ちゃんと読めという話ですが。
※EULAの補足。nugetで入手できる0.1はALPHA版ということで、商用利用が制限されています。ただ、ASP.NET MVC 3 Webロールに含まれてる1.0のほうはこの制限がないので、商用利用OK、Go-liveとみていいと思います。
いろいろ盛り込んでくれますね!Azure Team!
先日の投稿でも書きましたが、Windows Azure Tools for Visual studio v1.4 (August 2011 Update)でASP.NET MVC 3のWebロールテンプレートが追加されました。
で、このASP.NET MVC 3なWebロールを使うと今まで面倒だったアセンブリの追加とかが不要なわけですが、そのまま何も気にせずデプロイするとエラーになります。
よくみる(?)画面ですね。
さて、この原因ですが Deploying the Windows Azure ASP.NET MVC 3 Web Role にもある通り、ASP.NET MVC 3 Webロールプロジェクトテンプレートに含まれてるWeb.configにて、SQL Expressなカスタムセッションを利用するようになっているのが原因です。
解決方法はWade Wegner氏が書いてるとおりSQL Azure使うように正しく接続文字列変えてあげると良いのですが、面倒な場合はsessionState属性のmodeをOffとかInProcにすればいいんじゃないでしょうか。(投げやり)
※というのもちゃんとアプリケーション作るときはこの辺きちんと考慮するだろうし、デフォルトのままデプロイしたりするのは訓練されたあじゅらーぐらいな気もするので…
まぁ、そのうち修正されるかもしれませんがちょっとしたbad know-howということで…
たけはらさんにTumblrで教えていただきました。
どうもこのASP.NET MVC 3 Webロールテンプレートで使っているセッションやメンバシッププロバイダ等各種プロバイダはEntityFrameworkベースのSystem.Web.Providersだそうです。
未来を先取りテンプレート!!
ということは、Bad know-howで問題点として片付けるんじゃなくて、新しいテクノロジを活用しよう!っていう方向に持っていくべきですかね。
たけはらさんありがとうございます。
ひさびさの開発者向け大型アップデート来ました。
Windows Azure Tools for Microsoft Visual Studio 2010 August 2011 です!
今までTools for VSは1.3ベースだったんですが、これで1.4ベースとなりました。
というわけで、8月26日で1周年をむかえるJapan Windows Azure User Groupですが、このたび1周年を記念して総会を開くことになりました。
( ゚Д゚ノノ"☆パチパチパチパチ
参加申し込みはこちらから → JAZ結成一周年総会
| イベント名 | JAZ結成一周年総会 |
| 日時 | 2011年9月3日 (土) 12:30 – 17:30 |
| 場所 | 日本マイクロソフト株式会社 品川本社オフィス 東京都港区港南 2-16-3 品川グランドセントラルタワー |
当日はライトニングトーク(LT)てんこもりでお送りする予定。
ひとえに、このイベントが楽しくなるかどうかはLTするみなさまの熱意次第ということです!!
※プレッシャーかけるな ( ‘д‘⊂彡☆))Д´) パーン
おいらもそうでしたけど、ライトニングトークは(今回は)せいぜい5分だし、失敗しても恥かいても5分ですぐ終わるので傷が浅いです。慣れるにはもってこい!綺麗に終わった後の爽快感は何とも言えません。
スライドなくて話だけで5分でも、スライドだけでも、極端な話踊ろうが歌おうが何でもいいわけで(言い過ぎか)、発表する側の「きっかけ」としてはすごくいいかなと思います。
なので、スピーカー/ライトニングトーク初めての方大歓迎。JAZで一緒にステップアップしていきましょう!的なノリで。
ネタも「Azure」絡めば何でもOKという緩さ。(※Windows Azure 、としてないところがミソですよ)
LTもいろいろな場所で行われていますけど、なかなか機会が~とか踏ん切りが~とか悩んでる方はこの機会を是非利用していただければー!
他にもいろいろ楽しんで頂けるネタ用意しようとは思ってますので、Windows Azureに興味のある方のご参加お待ちしております~!
Tumblrみてたら asp.net mvc – Windows Azure Multi-Tenant Application and SSL – Stack Overflow な話題が。
※SMarxが回答してたりする。
で、マルチテナントでマルチドメインできるの?という話題。まぁ以前からこの手の話はちょくちょく挙がってたので少し考えてみました。
ちょっと前の話題ですが、Codeplexに「Windows Azure Accelerator for Web Roles」なるものが公開されました。
簡単に言うと、Visual Studioから簡単にWebサイト/アプリをWindows Azure上のWebロールに発行できて、しかも発行したサイト/アプリが永続化されてて複数インスタンスにも対応、という優れたヤツです。
まぁ詳しいことはAzureの小ネタさんのところに書かれてるのでそちらを参照。
さて、細かいのは見てもらって把握された前提で以下2点ほど小ネタを。
あっという間(前回の投稿から的な意味で)にWindows Azure Platform管理ポータルも日本語化されました!
※追記しました
今のところ11言語が使えるようです。
ステータスも日本語でわかりやすくなりましたね。
新しくなったポータルでは右クリックメニューでそれぞれの項目に応じたメニューが表示されます。
ちなみにプロパティ欄でもコピーが使えるので、ID等のコピーが少しだけマシになりましたw
日本語になったおかげで、初心者の方も使いやすくなったのではないでしょうか。
またパフォーマンスの改善ということでローカルのテンポラリキャッシュを使えるようになったようです。その為初回起動時にSilverlightの設定を変更するかどうか確認されます。
セキュリティリスクを最小化するために機密情報は保存しないようになってるそうですが、どうしても気にする場合はInPrivateモードで操作するのがいいようです。(ローカルキャッシュを作成しないらしい)
その他の変更点としてはデプロイしたサービスを削除する際の操作性の向上がありました。
以前は一旦サービスを停止して、それから削除という操作が必要でしたが今回のアップデートで直接削除することができるようになったようです。
あ、あとSQL Azureな管理のところでCo-Adminが追加できるようになったようですよ。
誤訳の報告やその他要望もろもろフィードバックは画面下にあるリンクから!
さて7月11日からMicrosoftのWPC11(World Partner Conference)がロサンゼルスで開催されているわけですが、KeyNoteで少しWindows Azureの話題もあったのでメモ程度に。
Boeing 737のWebサイト等がWindows Azure上で動いてるようです。
詳しくはこちら参照→ WPC2011 アップデート – Day1 Keynote より (青い空の向こうへ)
大きなトピックとして、Windows Azure Marketplace がアップデートされました。
Marketplaceのページにいけばわかりますが、Applications(旧AppMarket)もβが外れて既に多数のアプリケーションが登録されています。
※既にWindows Azure Platformの公式サイトも更新されてますね。日本語版はリンクが古くてリダイレクトされるようですが。
さてアップデート内容ですが、大きくはWindows Azure Marketplace Applicationsが提供開始になったこと、Marketplaceへの公開用キット(Publishing Kit)がDataとApplicationsにそれぞれ提供開始になっています。
Applicationsは何でもかんでも登録できるわけではなく、MarketplaceからOAuth2.0での認証を受け付けたりとか結構ちゃんとしたつくりにしておかないといけないようです。
※詳しくはApplications Publishing Kitの中身を参照
手順書も付属するので、そちらに沿えば良さそうですね。
System Center App Controller はコードネーム”Concero”のことですね。
ざっくりいえばセルフサービスポータル。イントラ内のプライベートな仮想環境とWindows Azureどちらも同じSystem Center App Controlerから管理できるというもの。
こちらに少し概要が載ってます → http://cloud.watch.impress.co.jp/docs/special/20110401_436569.html
まぁ、当面βですね。というか正式名称がKeyNoteで出たばっかりなので、Conceroで検索したほうがまだ情報でる。
おっきなトピックスとしては Windows Azure Accelerator for Web Roles なるものがリリースされたことでしょうか。
※WPCとは関係ないと思われますが
何してくれるものかというと、複数のWebロールに対してVisual StudioやWebMatrix からWeb発行ができる、発行したアプリの永続化ができる、というもの。
こいつは便利ですな!!!
ちょっとボリューム大きすぎるのでおいおい触りたいと思います。