當我將ASP.NET應用程序部署爲Web場時,需要注意哪些問題?ASP.NET在Web場中
回答
所有會話狀態信息都需要跨服務器進行復制。最簡單的方法是使用如所述的MSSQL會話狀態提供程序。
任何磁盤訪問(如用戶存儲的動態文件)都需要位於所有服務器可訪問的區域。比如通過使用某種形式的網絡連接存儲。腳本文件,圖像和HTML等只會在每臺服務器上覆制。
試圖在應用程序對象中存儲任何信息或在應用程序啓動時加載信息需要進行審查。每次用戶點擊農場中的新機器時,事件都會觸發。
各個服務器上的機器密鑰是非常大的,正如其他人所建議的。如果您針對IP地址而不是域使用SSL,您也可能會遇到問題。
您必須考慮您要實施的負載平衡策略,因爲這可能會改變您的方法。
考慮讓SSL在負載均衡器中終止,然後向各個Web服務器發送純HTTP請求。像F5的BigIP或類似的平衡器支持這一點。 – devstuff
我遇到的一個大問題是不同的機器鍵分佈在不同的服務器上。 ASP.NET使用machineKey進行各種加密操作,例如ViewState和FormsAuthentication標籤。如果你有不同的機器鍵,你最終可能會遇到服務器不理解來自其他服務器的帖子。如果您想了解更多信息,請點擊此處:http://msdn.microsoft.com/en-us/library/ms998288.aspx
下面是一個工具鏈接,它會爲您生成密鑰http://aspnetresources.com/tools/keycreator.aspx – David
- 請勿使用會話,而應使用配置文件。您可以配置一個SQL羣集來提供它們。會話將頻繁地查詢您的會話數據庫的方式,而配置文件只是加載自己,就是這樣。
- 使用分佈式緩存店像memached緩存數據,以及ASP.Net緩存的東西,你需要很多
- 使用SAN或EMC提供給您的靜態內容
- 使用S3或類似的東西有在3
- 後備有一些體面的負載均衡器,讓您可以輕鬆每臺服務器更新,而沒有需要關閉網站
HOW TO: Set Up Multi-Server ASP.NET Web Applications and Web Services
登錄aggregatio n很容易被忽視 - 在處理HTTP日誌之前,您可能需要將它們組合起來以創建包含發送到服務器的請求的單個日誌。
- 1. Asp.Net中的Web場錯誤
- 2. ASP.Net Web場監測
- 3. 如何創建ASP.NET Web場?
- 4. ASP.Net 4.0 Web場緩存
- 5. Web場中的ASP.NET頁面緩存
- 6. ASP.NET身份驗證Cookie(Web場)
- 7. 在ASP.Net Web場中存儲會話狀態(Memcachedb或...?)
- 8. 在Web場方案
- 9. Web場環境中ASP.NET網站的數據緩存
- 10. Web服務器場安裝問題中的asp.net應用程序
- 11. 呼叫ASP.NET Web服務在同一農場的Web應用程序
- 12. 在web服務器場中加密web.config
- 13. Hangfire如何在Web場中工作?
- 14. 在asp.net中的Web服務
- 15. 在ASP.NET中創建Web API
- 16. 驗證與Web場
- 17. ASP.NET MVC和Web農場框架IIS 7的問題
- 18. 推送到現場的asp.net web應用程序。安全異常
- 19. Asp.net會議即將到期現場Web服務器
- 20. web服務在asp.net
- 21. 如何在我們的Web場中爲SP 2010 Web場中的一個網站集執行web.config條目
- 22. Web場場景中的SignalR連接親和性
- 23. Web農場中的SignalR連接管理
- 24. 在Web場方案依賴方(IsSessionMode =真)
- 25. Web場中的ASP.NET MVC2 - 高流量的頁面加載速度很慢
- 26. 廣場的Web API破
- 27. 非Azure Web場上的SignalR
- 28. asp.net web表單中的WEB API MapHttpRoute
- 29. asp.net形式不保留在球場上
- 30. 在ASP.Net更新單場MVC 5
另請參見:http://serverfault.com/questions/91161/what-are-the-best-practices-in-web-farms –