我们要保持3个Web服务部署的不同步骤分开的web服务,但我们如何在我们的应用程序,它的服务使用定义?我们只是维护3个Web引用,并且如果以某种方式使用它们?你如何保持开发/台/生产
回答
正如其他人所提到的,您希望将这些信息存储在配置文件中。事实上,我建议为每个环境使用不同的配置文件。这将解决针对每个环境具有多个设置的不可避免的问题,例如,您可能有单独的Web服务URL和Web服务端口设置,或者有一些额外的设置来处理https /安全性。
一切都表示,一定要解决这些潜在的问题:
如果Web服务做任何事情的应用尤其重要,你可能希望在每个环境嫁给应用到Web服务(即有一个版本的你的应用程序在每个环境中)。当然,当你这样做时,对界面的任何更改都会更容易。
确保它是有目共睹的人哪个版本与您通话的网络服务。
不要维护代码中的差异,而是通过配置文件。这样,它们都运行相同的代码,只是用不同的配置值(即端口绑定到,主机名来回答,等)
我的建议是保持配置文件信息的应用。更好的做法是在构建过程中将给定环境的适当值注入到配置中,假设构建过程具有某种宏替换功能。通过这种方式,您可以为给定环境创建目标版本,而不必在每次为不同环境构建时更改配置。
将服务地址和端口放入应用程序的配置中。在服务配置中至少对端口执行相同的操作可能是一个好主意,以便您的开发服务在正确的端口上进行侦听。这样你不必修改你的代码就可以改变你正在访问的服务器/端口。
使用配置,而不是代码开发,阶段之间的切换,以及生产测试非常有价值的。当您部署到生产环境时,您需要确保您部署的是相同的测试代码,而不是稍有不同。你应该在开发和生产之间切换的是配置。
所有可以从dev切换到测试的东西都必须是可配置的。如果你有能力建立一个在你的产品安装过程中更新这些变量的过程 - 那就做吧。 (烘烤定制到构建似乎是一种劣质的想法 - 你结束了一群不同的不相容的建立为同一版本的源代码)
我很确定java和.net处理web服务配置的方式不同,但仍然有一些很好的信息。 – sontek 2008-09-19 21:39:32
而是使用Web引用,生成基于Web服务使用WSDL的wsdl.exe代理类。生成的类将具有一个Url属性,可以根据部署步骤(dev,qa,production等)进行设置。
当我在与Web服务器的一个项目最后的工作中,我们处理了这个问题,如下所示:
msbuild /t:deploy
将建立&部署到部分被团队共享的测试环境,并部分开发-具体。$(SERVER)
的默认值是$(USERNAME)
。msbuild /t:deploy /p:server=test
将部署到共享测试环境,非开发人员可以查看。msbuild /t:deploy /p:server=live
将部署到活服务器。我想我加了一个额外的握手,就像一个错误,除非你有/p:secret=foo
,只是为了确保你不会偶然这样做。
- 1. 你如何把你的项目从开发到生产?
- 2. 你如何维护开发代码和生产代码?
- 3. Laravel持续开发生产现场
- 4. 开发/质量保证/生产环境
- 5. 你如何跟踪你在生产中发布的内容?
- 6. 开发和生产
- 7. 我如何确保生产,测试和开发环境,
- 8. 你如何保持你的语言直?
- 9. 如何在开发和生产检票
- 10. 在生产和开发之间保持文本同步的步骤
- 11. 麻烦保持图像路径的一致与WebStorm开发Vx生产
- 12. Javascript“开发”和“生产
- 13. 从hybris开发到生产
- 14. 的Rails:开发和生产
- 15. 开发vs生产fusebox.xml
- 16. GWT - Log4j - 开发和生产
- 17. SharePoint开发/生产环境
- 18. 开发环境 - 从开发到登台服务器到生产的VCS
- 19. jQuery:如何保持一个对话框打开后发生asp.net回发
- 20. 保持计数发生
- 21. ngCordova错误保持发生
- 22. 保持neo4j与生产MSSQL更新
- 23. 你如何保持专注和发货项目?
- 24. 开发人员数据库连接持续在生产环境
- 25. 在SVN旁边,你如何管理你的开发VS测试vs生产源代码?
- 26. 如何让Windows控制台保持打开状态?
- 27. 如何在执行后保持控制台窗口打开?
- 28. 如何用execv产生后台程序
- 29. 如何在iPhone上保持开发和发货版本?
- 30. 在Django中保留部分生产数据用于开发
或运行在不同的主机上。 sys-dev.company.com sys-test.company.com等 – Aaron 2008-09-19 20:48:36