.NET開発者中心 厳選ブログ記事

「Windows Azure Toolkit for Windows Phone 7」を試してみた

buchizo(亀渕 景司)
2011/06/08
Page1 Page2

Windows Azureへの展開

 Windows Azureへ今回のアプリを展開する場合は、いくつか注意点があります。

 詳しくは、こちらのドキュメント(英語)を参照してください。以下に注意点のみを箇条書きで示しておきます。

証明書をWindows Azureで利用可能なものに変更する

  • テンプレートの初期設定では、ローカル環境向けの自己証明書による署名になっていますので、Windows Azureのホスト名で証明書(=.cerファイル)を作成し、ロールのプロパティから証明書をそれに選択し直しましょう。また、指定した証明書(=.cerファイル)がWindows Azure上でも利用できるように、秘密鍵付き証明書(=.pfxファイル)をあらかじめアップロードしておく必要があります(HTTPSで接続したときに、証明書の警告が表示されない状態にする必要があります)
    勝手証明書(=自己証明書)なので、それがWindows Azureユーザー側(接続するクライアント側)でセキュリティ警告にならないようにするために、わざわざ証明書(=*.cerファイル)をダウンロードするステップがアプリ内にあるのですね(具体的には下記の注意書きを参照)。親切です

  • まずは、以下のコマンドを実行して証明書の作成を行い、Certmgr.mscファイル(=証明書管理ツール)を起動して、秘密鍵付き証明書(=.pfxファイル)を作成(=エクスポート)しておきます。
    <CertificateName>にはWebアプリのホスト名(例だと「yourhostedservice.cloudapp.net」)を入力します。

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

  • また、Windows Phone 7からSSLで通信を行うために、証明書(=.cerファイル)をダウンロードできるようにする必要があります。
    Windows Azureプロジェクトで設定した証明書の.cerファイルを「WP7CLoudApp1.Web」プロジェクトに追加し、次の画面の例のようにして、ビルドした生成物の中に証明書(=.cerファイル)が一緒に含まれるように[ビルド アクション]を「コンテンツ」にしましょう

ロールの仮想マシン・サイズが「XS」になっている

  • XSインスタンスで構成されているので、自分のプランに合ったものに変更しておきましょう

Windows Phone 7アプリ(=「WP7CloudApp1.Phone」プロジェクト)の以下の画面で示している「CloudClientFactory.cs」ファイルにエンドポイントがハード・コーディングされているので修正します

  • CloudClientFactory.csファイルの44行目を修正
  • App.xamlファイルの27〜31行目、39行目を修正

  • LoginPageViewModelSampleData.xamlファイルの6行目を修正(これはサンプルのViewModelだと思われるので、直さなくても大丈夫とは思います……)

 あとは、通常通りにサービス・パッケージを作成し、Windows Azure上にデプロイします。最低限、証明書の手順だけでもちゃんと実施しておけば、特に問題なく動作すると思います。次の画面は、Windows Azure上のWebアプリを実行している例です。

 次に、「WP7CloudApp1.Phone」プロジェクト・フォルダの出力ディレクトリに.XAPファイルがあるので、Windows Phone 7の実機に転送しましょう。あとは、Windows Phone 7上のWA Toolkit WP7アプリをいろいろ試してみましょう!

 Push通知はタイルやトーストもOKですね。タイルへの通知としては、次の画面の例では、右下にある「WA Toolkit WP7」のタイル(=四角いボタン)の中の右上に丸数字で「1」と受信したPush通知の件数が表示されているのが分かります。

 トースト(=スクリーンの上部に表示される通知)としては、次の画面の例では、上部に「Test!」というメッセージ通知が表示されています。このように、トーストの場合、ロック・スクリーンでもちゃんと表示されます。

通知用のWebアプリの「Failed」というログは、別のPCのエミュレータに対するものです(今回はそもそも、そのエミュレータを起動してないのでエラーになっています)。

 WA Toolkit WP7サンプル・アプリは、Windows Azureストレージ上のデータにもアクセスできます。例えば次の画面のように、BLOBストレージにカメラから撮影した画像をアップするなどが行えます。

 Azure Storage Explorerなどのツールでストレージ内容を確認してみると、ちゃんとBLOBストレージに格納されてるのが分かります(次の画面を参照)。

まとめ

 デフォルトの状態で、これだけのことが行えるテンプレートってすごいですね! よく出来ています。

 細かな要素(=Windows Phone 7のPush通知やフェデレーション認証など、もろもろ)に関する説明は不足しているので、このテンプレートだけでWindows Azure+Windows Phone 7のアプリ開発を学習するには不向きですが、コードを参考にしたりする場合や一通り仕組みを知っていて、かつ簡単に基本的な機能を持つプロジェクトを作成したい場合は大変有用だと思います。End of Article

【筆者プロフィール】
buchizo(亀渕 景司)

 業務では主にマイクロソフト製品について技術支援や営業支援を行う。 昨今はWindows Azureをはじめ、クラウドを中心としたソリューションの開発や技術の追求を行っている。


 

 INDEX
  .NET開発者中心 厳選ブログ記事
  「Windows Azure Toolkit for Windows Phone 7」を試してみた
    1.Windows Azure Toolkit for Windows Phone 7って何なの?/やってみよう!/デバッグ実行
  2.Windows Azureへの展開/まとめ

インデックス・ページヘ  「.NET開発者中心 厳選ブログ記事」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH