gpt4 book ai didi

c# - 使单个 WCF 服务同时支持 SOAP、REST 和 WSDL

转载 作者:可可西里 更新时间:2023-11-01 08:46:33 24 4
gpt4 key购买 nike

我正在尝试在 .NET 3.5 中构建一个同时支持 SOAP - 并显示 WSDL - 和 REST 的 C# 服务。

使用 ServiceHostBasicHttpBinding 类即可轻松生成 SOAP 服务和 WSDL。成功了,客户很高兴。

由于 SOAP 调用都使用简单的参数,客户端开发人员要求为某些命令提供 REST 接口(interface)。所以我将 ServiceHost 类更改为 WebServiceHost,添加了必要的 WebInvokeWebGet 属性,添加了一个 WebHttpBinding 类,和宾果游戏 - REST 和 SOAP 都在一项服务中工作。太棒了,改变一个接口(interface),REST 和 SOAP 都得到了新的东西。

但有一个问题 - 不再生成 WSDL。我无法浏览到 http://server/service?wsdl并获取 WSDL 文件。检查 MSDN 文档,这似乎是默认 WebServiceHost 的行为。

问题:我可以覆盖此行为以便获得 WSDL 吗?不必使用与以前相同的 URL - 它可以更改 - 但我只需要将一些 URL 用于服务即可为那些 SOAP 开发人员获取 WSDL。

最佳答案

当您说“添加了一个 WebHttpBinding 类”时,这听起来像是您在代码中而不是在配置文件中进行了大量配置。

如果是这种情况,您可以尝试将配置移动到配置文件中。然后为契约(Contract)创建 2 个端点,一个 REST 和一个 SOAP,具有 2 个不同的地址和绑定(bind)。

关于c# - 使单个 WCF 服务同时支持 SOAP、REST 和 WSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1731434/

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