Я просто занимаюсь созданием некоторых служб WCF, но у меня есть требование сделать их обратно совместимыми для клиентских приложений с устаревшим (.NET 1.1 и 2.0).WCF Service - проблема с обратной совместимостью
Мне удалось заставить службы корректно работать с 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>
Может кто-нибудь посоветуете, пожалуйста?