WCF:App.config 中的配置比自定义代理类中的硬编码更好吗?

2024-04-29

首先this https://stackoverflow.com/q/6761105/5593152不重复。我有一个有点不同的问题。

删除客户端(或跨平台项目中的客户端)App.config 文件中的 WCF 配置并将其替换为注入的配置是一个好习惯吗?Proxy类(来自不同的 dll,为所有客户端共享)?

我刚刚开始,所以我的配置文件并不大,但这里是一个例子:

App.config(WCF部分):

<system.serviceModel>
  <client>
    <endpoint address="net.tcp://localhost:8002/MyService"
              binding="netTcpBinding"
              contract="CallbackExample.Client.IMyService" />
  </client>
</system.serviceModel>

我必须有这个代码复制并粘贴融入我做的每一个客户。使用 Xamarin,我可以在单个 VS 解决方案中使用 C# 编写许多客户端。所以我想,为什么不直接摆脱system.serviceModel部分并执行以下操作:

MyServiceProxy.cs:

public class MyServiceProxy : ClientBase<IMyService>, IMyService
{
    public MyServiceProxy()
        : base(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:8002/MyService"))
    {
    }

    public int JustAMethod()
    {
        return Channel.JustAMethod();
    }
}

这样,我就可以将配置放在一个地方。

所以,我的问题是:这被认为是一个好的做法吗?有没有更好的办法?我不确定,因为 WCF 就是通过 App.config flie 实现灵活性和简单配置。


如果不需要额外的配置,我总是选择纯代码解决方案。

过去,通过 app.conf 配置 WCF 稍微复杂一些。随着ServiceHost您甚至可以用纯代码配置 WCF 服务。

这同样适用于 WCF 客户端;如果您不需要通过配置文件为您的用户配置它:我会说选择纯代码解决方案。

Here https://stackoverflow.com/questions/10337573/pros-and-cons-of-wcf-config-file-vs-in-code-config同一主题的另一次讨论。 (类似的推理,问题仍然存在;您是否需要配置灵活性)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WCF:App.config 中的配置比自定义代理类中的硬编码更好吗? 的相关文章

随机推荐

  • XML 到字符串列表

    我有一些代码需要放入 C 中的字符串列表中 我正在从 XML 文件中读取这些代码 它的布局如下所示
  • 使用动态 SQL 检索表结构

    我正在迁移数据库 并尝试将表结构信息检索到单个行项目中以进行机器处理 由于技术原因 现有的迁移工具无法使用 必须采用这种方式处理 我已在多个表上成功运行以下查询 SELECT LISTAGG column name data type da
  • 设置最大 CUDA 资源

    我想知道是否可以设置 CUDA 应用程序的最大 GPU 资源 例如 如果我有一个 4GB GPU 但希望给定的应用程序只能访问 2GB 如果它尝试分配更多 就会失败 理想情况下 这可以在进程级别或 CUDA 上下文级别上设置 不 目前没有允
  • Facebook 从应用程序选项卡获取用户 ID

    Facebook 应用程序可以有一个选项卡 用户可以根据需要将其添加到其个人资料的选项卡中 我如何获取 uid 或以其他方式识别当前登录的用户以便为他自定义布局 谢谢 如前所述here http developers facebook co
  • 使用 Loggly 时在 log4net 中指定应用程序名称

    我正在测试几个 ASP NET Web 应用程序 并使用 Log4net 的附加程序通过 Loggly 设置它们 现在 日志记录似乎没问题 但我似乎找不到一种方法 使用 log4 loggly 附加程序 来指定应用程序名称 以便当我在 Lo
  • 如何列出运行时函数的所有调用?

    有什么办法可以list 在VS中显示 写入文件 所有来电者 对象 函数 一个函数的当程序运行时 可能使用调试器 我需要record 所有通话 包括来电者 一个函数的从计划启动到终止 简单扫描源代码或二进制文件不做这份工作因为该程序可以作为服
  • 如何用VB.net生成pdf文件?

    我想生成一个非常简单的报告 其中包含一些图像和文本 我想知道是否有一种方法可以使用 vb net 生成 pdf 文件 您可以使用 Visual Studio 附带的 Crystal Reports 对象导出到 PDF 文件
  • Java 切片数组与 Python 中一样

    我有一个 Java 字节数组 需要获取其中的一部分 我想以与使用 Python 列表相同的方式使用 Java 数组 即使用切片 Java中有类似的东西吗 先感谢您 您可以使用数组 https docs oracle com en java
  • Tkinter:为按钮和标签制作“类”

    因此 我在 tkinter 框架中几乎有许多不同的按钮和标签 并且我都希望它们具有相似的属性 假设我希望它们全部具有红色前景色 并具有透明背景 我什至可以这样做吗 这个透明背景仅适用于按钮 我可不可以有一个class对于按钮 我认为这是在
  • match_none 有什么用?

    我浏览了docs https www elastic co guide en elasticsearch reference current query dsl match all query html query dsl match no
  • UML三元关联实现java代码[重复]

    这个问题在这里已经有答案了 三元关联是结构关系 指定一个事物的对象连接到其他两个事物的对象 我理解这种关系 但我不知道如何实现显示这三个类之间关联的方法 让我们考虑下面的例子 项目有许多使用特定编程的开发人员 语言促进发展 开发人员使用特定
  • 使用酶测试反应确认窗口

    我在 React 中有一个按钮 当用户单击它时 它会打开一个简单的确认窗口 在我添加confirm方法之前 下面的测试是绿色的 添加后确认它是红色的 我需要如何更改测试才能与附加确认一起使用 反应删除按钮 const DeleteButto
  • Django 的 TEMPLATE_DEBUG 设置有什么用?

    我一直在尝试查找有关此设置的信息 但信息不多 有人可以解释一下这个设置是什么吗 我应该在生产中关闭它吗 只是想了解它 也许我错过了 django 中的一些重要内容 我使用django 1 6 此设置有助于调试渲染模板时引发的错误 异常 如果
  • 使用 HornetQ (JBoss) 在 docker 容器上公开的 JMS 所需的端口

    我正在使用 Docker 将 JMS 服务器容器链接到另一个 JMS 客户端容器 但是当我在docker容器中运行服务器时 客户端无法正确连接到服务器 我在docker上暴露了端口443 JMS还有其他使用的端口吗 我可以成功创建目标 但不
  • pybtex 是否支持 .bib 文件中的重音/特殊字符?

    from pybtex database input import bibtex parser bibtex Parser bibdata parser parse file sample bib 上面的代码片段在解析 bib 文件时效果非
  • 如何在Delphi 7中监听麦克风并检测声音响度

    我需要一个程序来捕获麦克风输入声音超过特定阈值时的事件 那么我可能需要不断地听麦克风 并以某种方式测量声音幅度 Delphi 7 中可以这样做吗 我建议您使用低音音频库 http www un4seen com bass html http
  • 如何用 DefaultErrorHandler 替换已弃用的 SeekToCurrentErrorHandler (spring-kafka)?

    我正在尝试找到一种方法来使用新的 DefaultErrorHandler 而不是 spring kafka 2 8 1 中已弃用的 SeekToCurrentErrorHandler 以便在出现错误时覆盖重试默认行为 我想 停止 重试过程
  • 类型 '' 不能用作泛型类型或方法中的类型参数 'T'

    我创建了这个通用方法 public IEnumerable
  • python 文档字符串中的这些标签 @ivar @param 和 @type 是什么?

    ampoule 项目在文档字符串中使用一些标签 例如 javadoc 标签 例如来自pool py http bazaar launchpad net dialtone ampoule main annotate 26 file id po
  • WCF:App.config 中的配置比自定义代理类中的硬编码更好吗?

    首先this https stackoverflow com q 6761105 5593152不重复 我有一个有点不同的问题 删除客户端 或跨平台项目中的客户端 App config 文件中的 WCF 配置并将其替换为注入的配置是一个好习