代码之家  ›  专栏  ›  技术社区  ›  Jere.Jones

在不同环境中使用web服务

  •  0
  • Jere.Jones  · 技术社区  · 16 年前

    我们通过检查global.asax中的主机名并基于该主机名设置一些应用程序范围的设置,解决了db连接字符串问题。源代码管理中有一个config.xml,其中列出了各种主机名及其应获得的设置。

    然而,我们还没有找到一个优雅的web服务解决方案。到目前为止,我们所做的是将对所有环境的引用添加到项目中,并将几个using语句添加到使用服务的文件中。当我们签出项目时,我们会取消对所处环境的适当using语句的注释。

    它看起来像这样:

    // Development
    // using com.tracking-services.dev
    // using com.upload-services.dev
    
    // QA
    // using com.tracking-services.qa
    // using com.upload-services.qa
    
    // Production
    // using com.tracking-services.www
    // using com.upload-services.www
    

    显然,随着我们越来越多地使用web服务,这种技术将变得越来越麻烦。

    我考虑过将名称空间放入web.config.dev、web.config.qa等中,并在global.asax中的应用程序启动时将它们交换掉。我认为这不会起作用,因为当global.asax运行时,编译已经完成,web.config更改不会产生太大影响。

    由于“最佳实践”包括使用web服务进行数据访问,我希望这不是一个独特的问题,而且已经有人提出了解决方案。

    还是我们把整个事情搞错了?

    编辑:

    1 回复  |  直到 16 年前
        1
  •  1
  •   Wyatt Barnett    16 年前

    进行一次引用,并根据需要使用配置切换目标URL。根本没有理由有单独的代理。

    推荐文章