我們要保持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. 如何在開發和生產檢票
- 12. 如何設置開發/生產
- 13. 如何保持我的部署開發和庫開發分離?
- 14. 在生產和開發之間保持文本同步的步驟
- 15. 麻煩保持圖像路徑的一致與WebStorm開發Vx生產
- 16. Paperclip,Cloudinary,開發,生產
- 17. 開發vs生產fusebox.xml
- 18. 的Rails:開發和生產
- 19. asp.net生產/開發環境
- 20. SharePoint開發/生產環境
- 21. 開發和生產環境
- 22. Php.ini生產vs開發
- 23. 從hybris開發到生產
- 24. Javascript「開發」和「生產
- 25. 從開發向生產
- 26. 開發Sqlite3和生產mysql2
- 27. GWT - Log4j - 開發和生產
- 28. Tomcat生產/開發環境
- 29. jQuery:如何保持一個對話框打開後發生asp.net回發
- 30. 開發環境 - 從開發到登臺服務器到生產的VCS
或運行在不同的主機上。 sys-dev.company.com sys-test.company.com等 – Aaron 2008-09-19 20:48:36