Silverlight ネットワーク操作

 ここでSilverlightのプロジェクトを例として、説明します。

手順1:
 Visual Studio の「サービス参照」機能を利用して、「PeopleService」を名前として、対象のWCFサービスを参照に追加します。追加すると、Visual Studio が自動的に、「PeopleServiceClient」クラスを生成され、このクラスはWCFサービスへアクセスするためのプロキシとなります。

 
手順2:
 ブラウザのURLから、参照するサービスのエンドポイントのアドレスを取得する。

using System;
using System.Windows;
using System.ServiceModel;
using SilverlightApplication.PeopleServiceReference;

namespace SilverlightApplication
{
   public class ServiceUtil
   {
       public static PeopleServiceClient GetPeopleServiceClient()
       {
           //Visual Studio のサービス参照機能によって、生成された「ServiceReferences.ClientConfig」ファイルの内容を
           //参考し、正しいBindingのインスタンスを作成します。
           BasicHttpBinding binding = new BasicHttpBinding(
               Application.Current.Host.Source.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase)
               ? BasicHttpSecurityMode.Transport : BasicHttpSecurityMode.None);
           binding.MaxReceivedMessageSize = int.MaxValue;
           binding.MaxBufferSize = int.MaxValue;
           
           //参照するサービスはアクセスするURLの直下に配置されていることとする
           return new PeopleServiceClient(binding, new EndpointAddress(
               new Uri(Application.Current.Host.Source, "../PeopleService.svc")));
       }
   }
}


iディレクトリで複数のポータルサイトにディレクトリ登録

コメント:

  • 上記コードを参考にしたのですが下記エラーが出力されます。
    原因は分かりますでしょうか?

    System.ServiceModel.CommunicationException: リモート サーバーが次のエラーを
    返しました: NotFound
    -- nanashi? 2012/11/29 (木) 17:38:56
  • nanashiさん
    System.ServiceModel.CommunicationExceptionの原因はいろいろですが、この
    サンプルに関して
    1、最後のURLのパスが間違っています
    2、BasicHttpBinding をコードで作成するする際に、サービスに合う設定に
    なっていません。 -- ぬる? 2012/12/07 (金) 08:42:38


(画像の文字列を入力して下さい)

トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:36:13 (1628d)

yVoC[UNLIMITȂ1~] ECirŃ|C Yahoo yV LINEf[^[Ōz500~`I


z[y[W ̃NWbgJ[h COiq 萔O~ył񂫁z COsیI COze