gpt4 book ai didi

c# - WCF 服务 - 向后兼容性问题

转载 作者:太空狗 更新时间:2023-10-29 19:40:17 24 4
gpt4 key购买 nike

我刚刚开始创建一些 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>

谁能给个建议,好吗?

最佳答案

啊,这简直要死我了!我大约 3 个月前在工作中这样做,现在我记不起所有细节了。

不过,我确实记得,您需要 basicHttpBinding,并且您不能使用新的序列化程序(这是默认的);您必须使用“旧的”XmlSerializer。

不幸的是,我已经不在我做这个的地方工作了,所以我不能去看代码。我会调用我的老板,看看我能挖掘出什么。

关于c# - WCF 服务 - 向后兼容性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com