ASP.NETをコード変更なしにWindows Azureで動かしてみる
グレープシティが販売しているコンポーネントには、ASP.NET向けの製品が多数あります。
ASP.NET 4で使えるコンポーネント一覧
- ComponentOne Studio for ASP.NET 2010J
- GridView for ASP.NET
- TrueChart for ASP.NET
- Reports for ASP.NET
- Calendar for ASP.NET
- Schedule for ASP.NET
- Accordion for ASP.NET
- Menu for ASP.NET
- NavPanel for ASP.NET
- ToolBar for ASP.NET
- ToolTip for ASP.NET
- TreeView for ASP.NET
- Expander for ASP.NET
- HeaderContent for ASP.NET
- MultiPage for ASP.NET
- Splitter for ASP.NET
- TabControl for ASP.NET
- TabStrip for ASP.NET
- Window for ASP.NET
- ComboBox for ASP.NET
- Editor for ASP.NET
- Input for ASP.NET
- Slider for ASP.NET
- PDF for .NET
- XLS for .NET
- ZIP for .NET
- MultiRow for ASP.NET 1,0J
- SPREAD for ASP.NET 5.0J
- ActiveReports for .NET 6.0J
- InputMan for ASP.NET 3.0J
これら.NET Framework 4上のASP.NETで動作するコンポーネントは、Windows Azureで使えるのでしょうか。
Windows AzureのSDK 1.2までは、WebRoleがHosted Web Core上で動作していましたが、SDK 1.3からIIS(w3wp.exe)上でWebRoleを動作させるモード(フルIISモード)がデフォルトになるなど、従来のASP.NETアプリケ―ションを動かしやすくなっています。そこで今回は、ASP.NET向けのコンポーネントについて、Windows Azureで動作させるためのコード変更なしにWindows Azureで動作させ、その挙動をチェックしてみたいと思います。
なお、基本的に、該当のコンポーネントをASP.NET Webフォームに配置しただけの状態で、コード変更を行わずにWindows Azure上へ配布して動作確認を行いますが、参照設定しているコンポーネントのDLLについては、Windows Azure上へコピーするために参照設定の[ローカルコピー]プロパティを「常にコピーする」に変更しています。
今回の記事は、グレープシティの保証対象外の使い方をしています。また、筆者としても実際の業務アプリケーション構築案件としては未使用のため、業務アプリケーションとしての使用に耐えうるかは未知数です。Windows Azureのアーキテクチャーとグレープシティのコンポーネントの特性を踏まえて「動くかも!」と試してみた結果になりますので、あらかじめご了承ください。
Windows Azureアプリケ―ションの基本的な作り方
Windows Azure SDKを導入したVisual Studio 2010には、テンプレートとして「Cloud」が追加され、Windows Azure Projectが新規作成できるようになっています。
プロジェクトを作成すると、Windows Azure上に設置するロールを選択するダイアログが表示されるので、「ASP.NET Web Role」を選択します。
Windows Azure Projectのテンプレートで新規作成を行うと、2つのプロジェクトが含まれたソリューションが生成されます。試しに実行してみると、「Compute Emulator」と「Storage Emulator」が起動し、その上でWindows Azureアプリケ―ションが動作します(実行には、「SQL Server Express Edition」などローカル実行されているSQL Serverが必要)。