2012-03-01 7 views
0

こんにちは、クライアント側のCustomMessageInspectorは、このコードをexeファイル内で動作させる方法を教えてください。

私はサービス側でCustomMessageInspectorを実行していますし、今私は、クライアント側で同じにする必要があります。 Isはクライアントで同じ方法で実装されていません。私はこのコードを発見した:

https://gist.github.com/1076635

をしかし、私はWinフォームプロジェクト内から実行し、これを取得するために苦労を持って、私は実際にそれが仕事を得るためにクラスライブラリでこれを入れなければならないのですか?

BestRegards

編集1:

これは、サービスの私のインスタンス化は、クライアント側でどのように見えるかです。

ClientService clientService = new ClientService(); 
    InstanceContext context = new InstanceContext(clientService); 

    DuplexChannelFactory<MyApp.ServiceContracts.IMyAppClientService> factory = new DuplexChannelFactory<MyApp.ServiceContracts.IMyAppClientService>(context, connectionName); 
    factory.Credentials.UserName.UserName = anvandarNamn; 
    factory.Credentials.UserName.Password = password; 
    return factory.CreateChannel(); 

そして、これは私の現在の行動タグはapp.configをでどのように見えるかです:

<behaviors> 
    <endpointBehaviors> 
    <behavior name="BasicBehavior"> 
     <CustomMessageInspector/> 
     <dataContractSerializer maxItemsInObjectGraph="2147483647"/> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
+0

あなたは、クラスライブラリにそれを置く必要はありませんそれが機能するためにあなたが遭遇している問題/エラーに関するいくつかの情報が役に立つかもしれません。 – luksan

答えて

0

編集:

ClientService clientService = new ClientService(); 

clientService.Endpoint.Behaviors.Add(new YourBehaviorThatApplysYourExtension()); 

InstanceContext context = new InstanceContext(clientService); 

DuplexChannelFactory<MyApp.ServiceContracts.IMyAppClientService> factory = new 
    DuplexChannelFactory<MyApp.ServiceContracts.IMyAppClientService>(context); 
factory.Credentials.UserName.UserName = anvandarNamn; 
factory.Credentials.UserName.Password = password; 
return factory.CreateChannel(); 
+0

私のEdit1を参照してください。これにあなたのソリューションを含めるにはどうしたらいいですか? msxItemInObjectGraphを設定する必要があることに注意してください。 – Banshee

+0

サービスをインスタンス化するコードを彼に渡しました。彼は二重クライアントを作成しようとしています。 – luksan

+0

私は答えを編集しました。それが役に立てば幸い! – pamidur

関連する問題