[英]Moving a session based asp.net application to an n-tiered architecture
我繼承了一個很大的asp.net網站,該網站嚴重依賴會話信息。
有一個后端系統,可以通過Web服務根據需要向其提供必要的信息,但是應用程序本身沒有數據庫,所有內容都通過一堆數據對象保持在會話中,這些數據對象可在整個應用程序中直接訪問。
我最終希望嘗試將應用程序遷移到真正的N層體系結構,並開始使用數據庫而不是基於會話的數據對象。
我的問題是,到達所需架構的推薦路徑是什么?
我認為第一步將是創建用於訪問數據對象的數據訪問層。 一旦到位,我便可以用數據庫替換數據對象。
問題在於,可以從應用程序中的任何位置直接訪問會話數據對象。 由於這些對象存儲在會話中,因此您可以直接設置它們的任何屬性,而無需任何控制數據的操作。 這是在整個應用程序中完成的。
例如,假設您有一個存儲在會話中的客戶數據對象。 如果要修改此客戶,您要做的就是將本地變量設置為存儲在會話中的對象。 然后,只需設置mylocalvar.LastName =“ blah”;即可更新對象中的所有內容。 現在,您的會話對象已更新,無需執行任何其他操作。
以前有沒有人做過這樣的事情,並且對我可以用來完成它的步驟有任何想法?
*注意:我不是要卸載會話數據,而是要重新設計如何保存和訪問數據。
聽起來是一項艱巨的任務!
我想第一步是為您的會話信息構建一個抽象層,並重構代碼,使其依賴於該會話而不是會話。 完成此操作后,您的gui代碼現在僅依賴於抽象層,您將能夠從抽象層中提取會話代碼,並用數據訪問代碼替換它,而gui應該不是更明智的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.