SHOEISHA iD

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

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

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

Windows Azure上で帳票コンポーネント「ActiveReports for .NET 6.0J」を動作させてみた

  • このエントリーをはてなブックマークに追加

Azure環境と開発環境で動くActiveReportsアプリ

 Windows Azure環境では動作して開発環境では動作しないという状況は、業務アプリケーションを構築する上ではかなりのマイナス要因です。そこで、ASP.NET medium trustでは動作させられたことを踏まえ、ASP.NET Webアプリケーションを動作させるWebロールだけを使って、ActiveReportsを使ったPDF出力を実装して確認してみたいと思います。

WebロールでPDFフォントファクトリ機能を使う

 最初に作成したASP.NET Webアプリケーションの構成と同様に、Webロール側でActiveReportsを使い、さらにPDFフォントファクトリ機能を使ってみました。すると、ワーカーロールの時と同じくWindows AzureでのActiveReportsのDLL問題は発生しましたが、同じ様にDLLをローカルコピーで配置する手法で解決できました。また、PDFフォントファクトリの設定をしなくても、Windows Azure上では動作します。

 後は、開発環境のDevelopment Fabric上での動作がエラーになる点を解決するだけです。PDFフォントファクトリの設定は次のようになります。

  1. ソリューションエクスプローラーで、すべてのファイルを表示
  2. WebロールでDLLをコピーするときは、DLLを参照設定して「ローカルコピー」プロパティを「True」に
  3. PDFフォントファクトリではActiveReports.Web.DLLを使うので、ActiveReports.Web.DLLも参照の追加を行い[ローカルコピー]プロパティ値も「True」に
  4. 「Fonts」フォルダを作成し、フォントをコピー
  5. 「Fonts」フォルダをプロジェクトに追加
  6. フォントファイルのプロパティを「コンテンツ」に設定

 上記のようにPDFフォントファクトリを設定したWindows Azureアプリケーションを、開発環境のDevelopment Fabric上で動かすと、正常に動作しました。そして、Windows Azure上に発行して動かしても、同じく正常に動作します。

さいごに

 最終的にうまくいきましたが、Windows Azureに既にインストールされているフォントファイルを、Windows Azure環境にコピーして使うしかないという点には、納得ができませんでした。コンポーネント側で、開発環境ではPDFフォントファクトリが有効になり、Windows Azureへの発行時には無視されるような仕組みが用意される。もしくは、プラットフォーム側でWindows AzureとDevelopment Fablicの相違がなくなる、といった対応が行われれば、今後、利用できる可能性が広がりそうです。

 Windows AzureでActiveReportsを使用する際のポイントは、配布先にActiveReportsが配布されていない、そして、インストールできないようなIIS環境で動作させたいときと類似しています。これは、ASP.NET 4が提供されているホスティングサービスを利用するときと同じです。

 その他にも、何点か調整事項がありましたが、最終的には開発環境でもWindows Azure環境でも動作しました。しかし、最初に記述したとおり、この方法はグレープシティの動作保証対象外の使い方なので、業務アプリケーション構築に使うかどうかは決心がつきかねるでしょう。できれば、この記事を元にグレープシティで動作検証やヘルプの記述の拡充を行っていただき、Windows Azureでの動作も保証対象に加えていただけたら喜ばしい限りです。

※注3

 Windows Azureのコンピューティング時間に対する課金はプログラムを発行した時点で発生します。また、00分を基準にした1時間単位で課金されるため、00分過ぎに発行して動作確認が終わったら、59分くらいまでに「Azure Services Developer Portal」から、アプリケーションの削除を行ってください。削除するには、「Hosted Service」で[Suspend]ボタンをクリックしてSTOP状態にしてから、[Delete]ボタンをクリックします。Suspendで、STOPの状態になっていても課金されるので注意してください。

製品情報

修正履歴

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

  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5477 2010/10/04 17:42

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング