2009-03-04 9 views
1

私はProgramming WCF Servicesの書籍でストリーミングをチェックしていましたが、私は構成に関する行を見つけました。必要なストリームモードごとWCFバインディングの設定はどこにありますか?

あなたは、クライアントまたはサービス側のバインディングを設定する必要があります(あるいはその両方)します

だから、これは何ですか? どこで設定する必要があるのですか? これはWCFの共通点ですか? 私にはちょっと変わったようです。ここで

答えて

2

あなたのWeb/app.configをでWCFサービスを設定する方法の本当に基本的な例です:クライアント側で

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <services> 
      <service name="MyServiceTypes.MyService" > 
       <endpoint address="http://localhost:55555/MyService" 
          binding="basicHttpBinding" 
          contract="MyServiceTypes.IMyService" /> 
      </service> 
     </services> 
    </system.serviceModel> 
</configuration> 

、あなたはこのように、まったく同じエンドポイントの設定を使用する:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <client> 
      <endpoint address="http://localhost:55555/MyService" 
         binding="basicHttpBinding" 
         contract="MyServiceTypes.IMyService" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

bindingConfigurationセクションを追加するなどして、バインディングなどをカスタマイズする方法はたくさんあります。バインド設定は、ストリーミングモードを設定する場所である場合があります。

通常、契約インターフェースを置くのがベストプラクティスです。あなたのサービスとクライアントの実装。あなたのDataContractの型(あなたのデータ転送オブジェクト)を別々のDLLに入れることができます。コントラクトを制御できない場合(たとえば、管理していないマシンでサービスにアクセスしている場合)、クライアントサイドコードを生成する簡単な方法は、Visual Studioで "Add Service Reference" svcutilツール。私はsvcutilがサービス参照の追加よりも好きです。なぜなら、生成されたコードがプロジェクトのどこで終わるかを簡単に制御できるからです。

関連する問題