如何使用我的wcf服务?

时间:2013-12-02 20:02:04

标签: wcf design-patterns

我正在开展一个项目,我的班级使用几个wcf服务。我使用多个测试wcf服务和多个wcf服务进行生产。当我必须使用测试端点时,我需要调用可能测试wcf服务,当我必须使用生产端点时,我必须使用生产wcf服务。测试wcf服务和生产wcf服务是平等的。

例如:

wcsServiceTest - 端点:https://www.organization.testendpoint.com

wcfServiceProduction - endpoint https://www.organization.prodendpoint.com

这两个服务都提供了函数getAllCats和getSingleCat

当我调用使用此服务的函数时,我希望能够在测试服务和prod服务之间切换。我考虑过制作一个Factory类,以及除了wcfs的导入之外彼此相似(具有完全相同的功能)的类。 My Test类导入测试wcf服务,我的Prod类导入prod wcf。我的Test和Prod类将共享相同的接口,但问题是,当我这样做时,我必须在我的界面中导入端点。然后我必须在我的界面中导入测试wcf服务和prod wcf服务。

这是一个很好的解决方案还是有更好的解决方法?

1 个答案:

答案 0 :(得分:1)

我可能在这里遗漏了一些内容,但为什么不使用Web.Config Transformations,并相应地覆盖WCF端点?

所以

  • Web.Debug.Config中,拥有测试服务端点的端点,以及任何其他仅测试AppSettings等。
  • 在您的Web.Release.Config中,将生产服务端点的端点作为Transform指令,并将任何其他仅PROD的AppSettings作为Transform指令。

构建和部署时,将生成的Web.Config将具有正确的环境特定设置,包括端点。

使用 Slow Cheetah AddIn ,您可以在Visual Studio中实际进行变换和预览,这样您就可以确保在进行构建时应用变换!非常简洁的特色IMO。