【问题标题】:namespace differences between web service and application dependency referencesWeb 服务和应用程序依赖引用之间的命名空间差异
【发布时间】:2009-06-05 04:39:18
【问题描述】:

我有 2 个应用程序都引用了 AppTypes.dll 程序集。一个应用是普通的 winforms 应用,另一个是 Web 服务。

我将 AppTypes 中定义的对象传递给我的 Web 服务,但我遇到了命名冲突,因为显然 Web 服务在将服务添加到我的项目后也定义了这些类型。有什么方法可以修复它或解决 VS 的困惑或这是否正常?

【问题讨论】:

    标签: c# web-services namespaces


    【解决方案1】:

    使用网络服务代理,您可以在添加网络引用时选择命名空间,或通过wsdl.exe /namespace。但是,这些将是不同的类型,您不能将两者视为相同。这通常会引起很多混乱......

    如果您想共享这些类型,请考虑使用 WCF 而不是 2.0 样式的 Web 服务,这允许通过 IDE 和 svcutil.exe /reference

    【讨论】:

      【解决方案2】:

      好吧,我可能不应该回答这篇文章,因为我不确定我是否完全理解你的问题,但有时你可以解决命名空间冲突,就像我怀疑可能通过使用“全局”指令。

      namespace Foo
      {
          class Bar
          {
          }
      }
      
      namespace Bar
      {
          class Foo
          {
              static void DoIt()
              {
                   // Foo.Bar x1; // This wont compile.
                  global::Foo.Bar x2; // This will compile.            
              }
          }
      }
      

      “global”指令指示编译器将“Foo”解析为命名空间而不是类,从而消除命名歧义。

      我希望我在这里没有完全跑题,如果我跑题了,对不起。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-06
        • 1970-01-01
        • 1970-01-01
        • 2012-05-23
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        相关资源
        最近更新 更多