代码之家  ›  专栏  ›  技术社区  ›  xofz

我可以在app.config中指定合同的名称和命名空间吗?

wcf
  •  0
  • xofz  · 技术社区  · 15 年前

    我对WCF和SOA还很陌生,所以如果问题不好,我道歉。

    在我看来,如果我可以在app.config中指定一个契约的名称和名称空间,我就可以更改客户机契约在运行时使用的服务,而不是在编译时使用的服务。如果不能在app.config中指定名称和命名空间,我的客户机契约将被限制为使用具有相同名称和命名空间的契约连接到服务。这是对的吗?

    那么,在app.config中有没有一种选择给定契约的名称和命名空间的方法?如果没有,为什么不呢?

    1 回复  |  直到 15 年前
        1
  •  3
  •   John Saunders    15 年前

    你所要求的没有意义。名称和命名空间标识契约。如果不改变客户,合同就不能改变。这就是为什么服务版本控制通常由 添加 新契约(具有新名称/命名空间组合),而不是通过更改现有契约。

    你应该把合同看作是客户和服务之间牢不可破的协议——你将始终提供这一套操作。

    另一方面,您可以更改 端点 如果你决定让你的客户使用不同的 实施 合同。您还可以更改实现所通过的绑定。但你必须始终保持同一份合同,除非你想开始对你的客户撒谎。

    推荐文章