【问题标题】:Did namespace change of WCF used class could cause problems?WCF 使用的类的命名空间更改是否会导致问题?
【发布时间】:2013-10-04 14:32:38
【问题描述】:

WCF 服务 中作为参数返回值 使用的类命名空间的更改是否会导致客户端出现问题?

我的意思是 C# 命名空间,不是 WSDL 命名空间。

【问题讨论】:

  • 这取决于您的服务是如何被使用的,您能否提供更多细节,您是否尝试过任何方法并发现它失败了?
  • 我什么都没试过。我发现名称空间名称存在于 WSDL 中,所以我想知道在客户端可能会有一些对它的引用。服务将使用 BasicHttpBinding 消费
  • 尝试使用该服务并告诉我们进展如何。
  • 在大多数情况下,如果您使用服务参考功能,您可能需要重新生成客户参考。
  • 如果您提供一些代码作为您所做工作的示例,将会很有帮助。你的.svc 文件包含什么,操作和数据合约是什么?

标签: c# wcf web-services service


【解决方案1】:

我将它添加到命名空间上方的 WCF 项目中:

[assembly: ContractNamespace("http://WCF/WebService/", ClrNamespace = "someNamespace")] 
namespace someNamespace
{
}

所以,当我想更改 WCF 中的命名空间时,我只更改 C# 命名空间 someNamespace 并且 WSDL 和代理将保留命名空间

WCF.WebService

【讨论】:

    【解决方案2】:

    对于典型的 Web 服务,这不是问题,因为 WSDL/SOAP 不会从 c# 命名空间中获取它们的命名空间。如果您使用二进制序列化或其他 .net 特定设置,请小心,因为 WCF 可能在 XML 中包含 CLR 类型/命名空间。

    【讨论】:

      猜你喜欢
      • 2016-06-25
      • 2012-01-10
      • 1970-01-01
      • 2012-05-26
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 2012-05-31
      相关资源
      最近更新 更多