MSNSearchPortTypeClient

投稿日 : 2008年2月21日 0:03

 Visual StudioからLive Search APIを利用するとき、2008以前は「Web参照の追加」ダイアログを使うことでMSNSearchServiceクラスが作られていました。2008からは「サービス参照の追加」になっています。作られるクラスもMSNSearchPortTypeClientクラスになりました。

 参照の追加によって作られたファイルはソリューションエクスプローラの「すべてのファイルを表示」ボタンにより確認できます。

 2008以前・2008で作られるクラスは、それぞれ

  • MSNSearchService: System.Web.Services.Protocols.SoapHttpClientProtocolを継承したクラス。
  • MSNSearchPortTypeClient: System.ServiceModel.ClientBase(Of TChannel)を継承したクラス。

になっています。同じWSDLから作成されるのでデータプロパティやメソッドは同じですが、2008のサービス参照の追加によって作られたクラスはWCFクライアントオブジェクトになっています。そのためWCFクライアントの使い方に沿った手順が求められます。

 サービスの操作を呼び出した後はCloseメソッドを使い終了します。例外の場合はAbortメソッドを使います。例外の種類も以前と異なっていることがわかります。SOAPによる例外はFaultExceptionによりわかりますが、以前のように詳細なメッセージは含まれていません。

Try
    Dim service = New MSNSearchPortTypeClient
    Dim searchResponse = service.Search(searchRequest)
    service.Close()
Catch timeoutEx As TimeoutException
    service.Abort()
Catch soapEx As ServiceModel.FaultException
    service.Abort()
Catch commEx As ServiceModel.CommunicationException
    service.Abort()
Catch ex As Exception
    service.Abort()
End Try

 参考: WCFクライアントの概要

 2008で従来のようにWeb参照の追加をしたい場合は、サービス参照の追加ダイアログの「詳細設定」ボタン→「Web参照の追加」ボタンから追加可能です。.NET Framework 2.0を使用したアプリケーションのために残されているようです。

フィードバック

# Liveネタの連載はじめてました

2008/02/27 23:22 by katamari.wankuma.com
Liveネタの連載はじめてました

# tJhTjxQIsorYjpM

2011/12/13 20:20 by http://www.d4women.net/yasmin.php
I decided to help and sent a post to the social bookmarks. I hope to raise it in popularity!!...

# znGHKNnxDWqR

2011/12/16 1:13 by http://www.wildharvestedmaca.com/
Author, keep doing in the same way..!

# qQSBeibgNLOhEQhgAG

2011/12/22 19:35 by http://www.discreetpharmacist.com/
U6HYjj Thanks for the article! I hope the author does not mind if I use it for my course work!...
コメントの入力
タイトル
名前
Url
コメント