Wcf 服务代理名称/命名空间命名策略

标签 wcf web-services coding-style naming-conventions proxy-classes

任何人都有适用于服务代理类的命名策略?

例如,如果我在两个项目中获得三个 Web 服务,如下所示:

XWs
  AService.asmx
YWs
  BService.svc
  CService.svc

什么将用作 AService 的服务引用名称和命名空间, BServiceCService ?

一般来说,我希望代理名称/命名空间中的某些内容表明正在使用的东西不是具体的类,而是代表一个代理 - 两者都不会与具体类的使用发生冲突[并强制使用别名或命名空间-qualified class names],因此我们不会隐藏发生跳跃的事实(我猜 Wcf 服务代理生成器的默认后缀 Client 涵盖了这一点)。同样重要的是,它处理的情况是,一个人正在编写一个包装器/垫片服务,该服务将一组 [子] 调用转发到另一个引用的服务。

我使用过各种样式(添加 WsServiceProxyRefProxy 后缀?以 ServiceName. 为前缀),但从未对它们感到满意。

什么对你有用?任何风格指南都引用了命名风格?

编辑:虽然 Cheeso 的回答涵盖了我的大部分问题,但我仍然有兴趣听到以下问题的答案:
  • 上面例子中的命名空间代理类策略
  • 提及代理命名策略的风格指南
  • 最佳答案

    我最初使用的名称是 ServiceName 代理和服务名称 SvcProxy .但是,和你一样,我对这些名字也不是特别满意,所以我没有坚持。现在我只是求助于 ServiceName 服务或服务名称 Svc .

    您想向类的用户传达的关键是该类是代理吗?您所做的区分 - 代理类和具体类之间 - 似乎适用和鳄鱼。具体的反面是抽象的,不是吗?而 svcutil.exe 生成的代理类实际上是具体的。

    使用命名约定,我认为您试图表明代理类与远程服务进行通信。 (当我们称它为“代理”时,我们的意思是表示它位于某个东西的前面,在这种情况下是远程服务。)如果是这种情况,那么为什么不是 ServiceName 服务或服务名称 连接 ,或沿着类似的路线?像 System.Data.OleDb.OleDbConnection 或 System.Data.SqlClient.SqlConnection。

    我自己选择的命名约定符合这一点。它表示该类代表一个服务,该服务被假定为远程的。我不太在意强调它是代理到服务的事实。出于实际目的,它是一项服务这一事实是关键。

    关于Wcf 服务代理名称/命名空间命名策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/925453/

    相关文章:

    php - 在php网页上显示60,000条记录的最佳方式

    java - 在 xsd 中找不到引用

    c# - 随机调用不存在的 style.css 操作 - 为什么?

    java - Java 中的显式成员方法引用

    c# - 服务类可以以及如何继承普通类?

    asp.net - wcf 使用 basichttpBinding 实现用户名和密码安全 - 基于消息

    c# - 单程服务方式能保证送达吗?

    wcf - 托管 WCF 服务的任何建议?

    c# - JSON 安全和加密

    coding-style - 你如何告诉别人他们正在编写糟糕的代码?