【发布时间】:2011-05-27 02:51:25
【问题描述】:
我正在构建一组都需要引用 Web 服务的控制台应用程序。我有一个类库,其中包含这些应用程序的许多共享功能,包括 Web 服务(已添加为服务参考)。我知道处理此问题的“正确”方法是将块从类库的 app.config 复制到每个控制台应用程序,但这会导致维护问题。我还找到了使用共享 app.config 文件的替代方法,并从每个应用程序的配置中引用它。这更好,但仍然不是很好 - 它仍然涉及手动配置每个新应用程序,并且需要我确保共享配置文件位于所有应用程序都可以访问的位置。
我正在寻找的是三件事之一(按满意度递减顺序):
- 一种将整个服务以及访问它所需的一切封装到类库生成的 dll 中的方法。
- 一种将相关配置信息自动复制到每个控制台应用的构建目录(例如构建后脚本)的方法。
- 解释为什么前两个都不可行。 (在这种情况下,我将使用共享配置)
有什么建议吗?
【问题讨论】:
-
encapsulate the whole service? -
差不多。控制台应用程序根本不需要看到服务存在。他们只需要使用库中的类来做他们的事情。这些类中发生的部分事情涉及 Web 服务这一事实与它们无关,并且可能会在以后发生变化。
-
所以它归结为创建一个 api 并使其适应服务。您在问题中谈论了很多关于配置文件的内容,但从未提及您尝试使用该服务做什么(这就是我问的原因;))
-
我没有创建服务 - 我正在使用外部服务。
-
当我说使其适应服务时,我的意思是使用您的服务。我现在正在输入一些东西。
标签: c# visual-studio-2010