Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用我的wcf服务?_Wcf_Design Patterns - Fatal编程技术网

如何使用我的wcf服务?

如何使用我的wcf服务?,wcf,design-patterns,Wcf,Design Patterns,我正在做一个项目,在这个项目中,我的班级使用了一些wcf服务。我使用多个测试wcf服务和多个wcf服务进行生产。当我必须使用测试端点时,我需要调用may test wcf服务;当我必须使用生产端点时,我必须使用生产wcf服务。测试wcf服务和生产wcf服务是相等的 例: wcsServiceTest–端点: wcfServiceProduction–端点 这两个服务都提供函数getAllCats和getSingleCats 当调用使用此服务的函数时,我希望能够在测试服务和prod服务之间切换。我

我正在做一个项目,在这个项目中,我的班级使用了一些wcf服务。我使用多个测试wcf服务和多个wcf服务进行生产。当我必须使用测试端点时,我需要调用may test wcf服务;当我必须使用生产端点时,我必须使用生产wcf服务。测试wcf服务和生产wcf服务是相等的

例:

wcsServiceTest–端点:

wcfServiceProduction–端点

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

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


这是一个好的解决方案还是有更好的方法来解决这个问题?

我可能在这里遗漏了一些东西,但是为什么不使用,并相应地覆盖WCF端点

所以

  • Web.Debug.Config
    中,具有测试服务端点的端点,以及任何其他仅测试应用程序设置等
  • Web.Release.Config
    中,将生产服务端点的端点作为转换指令,并将任何其他仅生产的AppSettings作为转换指令
构建和部署时,将生成的
Web.Config
将具有正确的特定于环境的设置,包括端点

  • 见:
  • 也:

使用慢速猎豹加载项,您实际上可以在Visual Studio中进行转换和预览,因此您可以确保在构建时应用转换!我觉得这个功能很不错。

非常感谢,我会研究一下的!这可能是我一直在寻找的解决方案:)只是一个问题,当我在VS中的“服务引用”下添加我的服务引用时,我必须输入服务端点地址。当我的服务既有“测试”地址又有“产品”地址时,我该怎么做?当你说“添加我的服务引用”时,你指的是使用该服务的客户端应用程序吗?如果是这样的话,您应该生成一个代理并使用来自Config的适当地址,而不是添加“硬编码”引用,后者会在后台生成大量不必要的代码。