SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)

インストールマニアックス ~ グレープシティコンポーネント meets Windows Azure

MultiRow for ASP.NET 1.0JのAzure動作検証

 次に、MultiRow for ASP.NETを試してみます。MultiRow for ASP.NETは、1レコードのデータを複数行表示するコンポーネントです。ASP.NET Webフォームの開発において、通常、RepeaterコントロールとHTMLを駆使して実現していたことを、デザイナーを使って欲しい見た目を素早く実現できるため、デザイン性と生産性を両立できる優れたコンポーネントです。

MultiRow for ASP.NETをWindows Azure開発環境で動作させてみる

 まずは、WebRole側のプロジェクトにaspxファイルを新規追加し、ツールボックスからMultiRow for ASP.NETをドラッグ&ドロップして、デザイナで次のような画面デザインを定義します。

図13 MultiRow for ASP.NET
図13 MultiRow for ASP.NET

 今までと同様、Windows Azureの実環境にはMultiRow for ASP.NETがインストールされていないので、コンポーネントのDLLを一緒に配布します。「GrapeCity.Web.MultiRow.dll」と「GrapeCity.Web.MultiRow.resources.dll」を参照設定して、プロパティウィンドウの「ローカルコピー」欄をTrueにします(VBの場合、参照設定を指定してプロパティウィンドウに表示するためにはソリューションエクスプローラで、「すべてのファイルを表示」をOnにする必要があります)。

図14 必要なコンポーネントをローカルコピー
図14 必要なコンポーネントをローカルコピー

 MultiRowは前述のSPREADと同じように一覧表示系のコンポーネントなので、データセットと連結して複数データを表示してこそ真価を発揮します。実行している環境の環境変数を取得して、データセットに格納するコードを用意し、そのデータセットを表示するためのコードを記述します。

リスト3 MultiRowにデータセットの内容を表示する例
Public Class CZ1102MultiRow
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object,
                            ByVal e As System.EventArgs) _
                        Handles Me.Load
        If Not Me.IsPostBack Then
            Call GetRecords()
        End If
    End Sub

    Private Function GetRecords() As Boolean
        Dim ds As DataSet

        Using _proc As New CZ1102DataClass
            ds = _proc.GetRecords
        End Using
        Me.CZ1102_MultiRow.DataSource = ds
        Me.CZ1102_MultiRow.DataBind()
        Return True
    End Function
End Class

 準備ができたので、Windows Azure開発環境で実行してみます。すると、デバッグが開始できない旨の表示がでて、実行が停止します。

図15 Windows Azure開発環境での実行時のエラー表示
図15 Windows Azure開発環境での実行時のエラー表示

 そこで、「デバッグせずに実行(Ctrl + F5)」で実行したときに表示される詳細なエラーをもとに、次のように「Web.Config」に追記して、エラーを回避します。

図16 「デバッグせずに実行」時のエラー表示
図16 「デバッグせずに実行」時のエラー表示
<system.web>
  <httpHandlers>
    <add path="MRWebResource.axd" verb="GET" type="GrapeCity.Web.MultiRow.MRWebResource" validate="true" />
  </httpHandlers>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
  <machineKey decryption="AES" …(略)… />
</system.web>
<system.webServer>
  <handlers>
    <add name="MRWebResource" preCondition="integratedMode" path="MRWebResource.axd" type="GrapeCity.Web.MultiRow.MRWebResource" verb="GET" />
  </handlers>
  <validation validateIntegratedModeConfiguration="false" />
</system.webServer>

 この追記によって、無事にWindows Azure開発環境で、MultiRowを使ったASP.NET Webフォームを動作させることができました。

MultiRow for ASP.NETをWindows Azureにデプロイして動作させてみる

 Windows Azure開発環境でうまくいったので、さっそくWindows Azure実行環境にデプロイして動作を確認してみます。下の図のように、無事に動作が確認できました。

図17 MultiRow for ASP.NETのWindows Azure実環境での実行結果
図17 MultiRow for ASP.NETのWindows Azure実環境での実行結果

次のページ
InputMan for ASP.NET 3.0JのAzure動作検証

この記事は参考になりましたか?

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5784 2011/03/04 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング