gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:00:30 25 4
gpt4 key购买 nike

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

例如,如果我在两个项目中获得三个 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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com