c# - 命名空间与 WCF 的相似名称混淆

标签 c# wcf namespaces

我对应该遵循的规则感到有点困惑。我发现问题的出现是因为当前的应用程序名称恰好是“Common”,这也是“Common”公司库的名称。我有一个 WCF 服务正在运行并引用了几个具有以下命名空间的类库:

  • WCF 服务: Common.Services
  • 应用领域层: Common.Domain
  • 公共(public)库: CompanyName.Common

有了这个命名,它编译得很好,但是当我使用 WCF 测试客户端使用服务时,它说 Company.Common 不包含 Domain 您是否缺少程序集引用资料?

Company.Common 确实不包含嵌套的 Domain 命名空间。有单独的 Common.Domain 但不应嵌套,所以...?

如果我在已经引用 CompanyName.Common 命名空间的另一个客户端(例如 Web 应用程序)中使用该服务,它不会重用该类型,因为命名空间变得困惑。

使用 Visual Studio,我可以查看客户端上的两个引用程序集,它们显示了正确的结构。据我所知,WCF 似乎不喜欢命名空间。

我想没有其他人遇到过这个吧?

最佳答案

如果暴露为不同的 Web 服务端点,WCF 在命名空间甚至类冲突方面存在许多问题。例如,它会导致服务 Reference.cs 文件为空。在任何情况下,一个普遍的好建议是将命名空间重命名为有意义的名称,或者将其分解为除“Common”之外的更多有意义的命名空间。

关于c# - 命名空间与 WCF 的相似名称混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234915/

相关文章:

javascript - SignalR错误: Invocation provides 1 argument(s) but target expects 0

c# - 使用 DataContractSerializer 序列化接口(interface)列表

c# - 如何使用 WCF Web Api 将集成身份验证用户传递到另一个 Web 服务

php - 在带有子类的php中级联使用命名空间

c# - 从接口(interface)为静态类创建动态适配器

c# - Application.Run(窗体)挂起

r - 如何在 R 中引用函数内的本地环境?

c++ - 命名空间会发生什么?

c# - 为什么 Array.Sort 在使用 Array.ForEach 后工作得更快?

android - 在 Android 中使用带有 Post Params 的 WCF Web 服务