我們要保持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