連載:世界のWebサービス
第9回 モバイルWebアプリケーション

2.Mobile Internet Toolkit版MSN Sender

田口 景介
2001/10/30

 最後に、Mobile Internet Toolkit版MSN Senderのコードを簡単に解説しよう。次のリストは「送信」ボタンをクリックすると呼び出される、イベント・ハンドラである(Command1_Clickメソッド)。ここでは前回と同じようにMSN Messenger Webサービスを呼び出しているが、Webアプリケーション版MSN Senderとまったく同じコードであることが分かるだろう。

private void Command1_Click(object sender, System.EventArgs e) {
  // Webサービスを利用して、メッセージを送信する
  Messenger m = new Messenger();
  bool result = m.AnonymousSendMessageNonSoap(textRcpt.Text, textMessage.Text);

  // 送信結果に応じて、表示フォームを切り替える
  if (result) {
    ActiveForm = Form2;
  } else {
    ActiveForm = Form3;
  }
}
Webサービスを呼び出しメッセージの送信を行うメソッド
前回と同じようにMSN Messenger Webサービスを呼び出しているが、Webアプリケーション版MSN Senderとまったく同じコードである。

 Webサービスを呼び出した後には、その成否を表すbool値を元に、アクティブ・フォームをForm2(送信成功)かForm3(送信失敗)へ切り替える。これはActiveFormプロパティへフォームオブジェクトを代入することで実行する。なお、Form2とForm3には「戻る」リンクが配置されていて、これをクリックするとForm1へと戻るようになっている。これは、LinkコントロールのnavigateURLプロパティに「#Form1」が設定されているため、イベントハンドラに頼らず、Form1へとアクティブ・フォームを切り替えることができる。

 次にMSN Senderのビルド手順を示す。

 モバイル向けWebアプリケーションとは言っても、実態はMobile Internet Toolkitで追加されたコントロールを利用するごく一般的なWebアプリケーションでしかないので、Mobile Internet Toolkit版MSN Senderのビルド手順は、前回とほとんど変わらない。わずかに、コンパイラ起動時にオプションを1つ追加するだけである。

  1. インターネット・サービス・マネージャを起動して、仮想ディレクトリを作成する(例:c:\MSNSenderを仮想ディレクトリMSNSenderとして設定する)

  2. コマンド・プロンプトを起動して、c:\MSNSenderで以下のコマンドを実行し、Messenger.csを作成する。

wsdl /n:MSNSender
  http://65.116.26.9/messengerwebsrv/messengerservice.asmx
  1. c:\MSNSenderに以下のソース・ファイルを作成する(ソースファイルのダウンロードはこちら:mitmsnsender.zip(圧縮ファイル))。
  • AssemblyInfo.cs
  • Global.asax
  • Global.asax.cs
  • SenderForm.aspx
  • SenderForm.aspx.cs
  • Web.config
  1. ディレクトリc:\MSNSender\binを作成する。

  2. c:\MSNSenderで以下のコマンドを実行し、コンパイルする(c:\MSNSender\bin\MSNSender.dllが作成される)。このとき前回とは異なり、「/r:System.Web.Mobile.dll」を指定して、モバイル・サーバ・コントロール・ライブラリへのリンクを指示する必要がある。

csc /r:System.Web.Mobile.dll /t:library /out:bin\MSNSender.dll
  AssemblyInfo.cs Global.asax.cs Messenger.cs SenderForm.aspx.cs

 以上の作業を終えると、http://127.0.0.1/MSNSender/SenderForm.aspxからMSNSenderのWebページを開けるようになる。デジタルアドバンテージと@ITで共同運営するIWebMethod.NETでは、前回同様に、今回のMSNSenderも公開しているので、試してみたい方はこちらをアクセスして欲しい。このURLは次のようになっている(IEからもアクセス可)。

http://www.iwebmethod.net/wwebserv/MSNSender2/SenderForm.aspx

なお前回はこの後Web.configを作成したが、今回はVisual Studio .NETがプロジェクトの一部として生成したWeb.configをそのまま利用している。プロジェクト・タイプとしてMobile Web Applicationを選択すると、モバイル向けWebアプリケーション用にセットアップされたWeb.configが生成されるため、文字コード等の設定は不要である。End of Article

 

 INDEX
  [連載]世界のWebサービス―― 究極のWebサービスを求めて ――
  第9回 モバイルWebアプリケーション
    1.モバイル・サーバ・コントロール
  2.Mobile Internet Toolkit版MSN Sender
 
「世界のWebサービス」


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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間