いくつかの WCF サービスを作成しようとしていますが、レガシー (.NET 1.1 および 2.0) クライアント アプリケーションとの下位互換性を維持する必要があります。
3.0 以降のクライアントでサービスを正しく実行することはできましたが、basicHttpBinding エンドポイント (必要な互換性のために必要と思われる) を使用してサービスを公開すると、サービスはメソッド シグネチャをリファクタリングします。例えば
public bool MethodToReturnTrue(string seedValue);
クライアント アプリには次のように表示されます。
public void MethodToReturnTrue(string seedValue, out bool result, out bool MethodToReturnTrueResultSpecified);
セルフホスティング コンソール アプリの app.config で考えられるすべての構成パラメーターを試しましたが、期待どおりに機能させることができないようです。これは私の期待に欠陥があるという事実につながる可能性があると思いますが、WCF サービスが下位レベルのクライアントへの bool 戻り値の型を処理できないことに驚かれることでしょう。
現在の app.config は次のようになります。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="MyServiceTypeBehaviors" Name="MyCompany.Services.CentreService.CentreService">
<clear />
<endpoint address="http://localhost:8080/CSMEX" binding="basicHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
<endpoint address="http://localhost:8080/CentreService" binding="basicHttpBinding" bindingName="Compatible" name="basicEndpoint" contract="MyCompany.Services.CentreService.ICentreService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceTypeBehaviors" >
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
誰でもアドバイスできますか?