gpt4 book ai didi

web-services - 当有其他提供者时,如何在消费者端为 1 个提供者添加元素到 WS 操作?

转载 作者:行者123 更新时间:2023-12-04 08:54:49 25 4
gpt4 key购买 nike

我编写了一个 WSDL 和实现 AddCar 操作的消费者/客户端,该操作具有模型和颜色的数据。现在,一个 WS 生产者/服务器也希望有长度数据。我假设其他生产者由于实现外包而难以适应这种变化。我的选择包括:

  • 新建操作 AddCarWithLength
  • 使用相同的操作制作 2 个版本的 WSDL 和使用者代码
  • 只需使用 更新 WSDL可选长度并仅包含需要它的生产者的操作数据。
  • 只需使用 0-N 名称-值对元素更新 WSDL,并仅为需要它的生产者包含它的操作数据。
  • 要求客户让实现 WS 生产者的公司对其进行更新。

  • 选项:
  • 不可能
  • 我已经在消费者/客户端中生成了 C# 类,所以会有两个代码集。我仍然需要知道(可能使用配置参数或 smthn)生产者/服务器使用哪个版本
  • 意味着我只需要知道我与哪个生产者/服务器交谈。
  • 与 3 相同,但允许将来扩展
  • 可能有问题

  • 问题:
    当要求更新所有生产者可能不切实际时,这样做的正确/最佳方法是什么?

    最佳答案

    WSDL 以宝贵的定义而闻名。首先,服务的设计应始终清晰地了解使用情况和 future 。无论如何,现在我的理解是为您现有的 WCF 服务添加一个属性(数据元素 - 长度)。我的建议是,

  • 分析并添加您的自定义类并将其命名为数据协定并添加到您的 WCF 操作中并将其公开为新的接口(interface)/操作协定。

  • 例如。
    在 Class car 中,有一个数据成员作为属性。
    使用 in 属性定义所有分析结果元素,例如长度、宽度、颜色、重量等。
    还添加一个 Dictionary<string,string> CustomAttributes;所以将来你可以使用它。
  • 与上面类似,但如果你没有太多时间。
    无需任何分析,只需添加 Dictionary<string,string> Parameters;并公开一份新契约(Contract)并加以利用。
  • 关于web-services - 当有其他提供者时,如何在消费者端为 1 个提供者添加元素到 WS 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38895752/

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