簡體   English   中英

將基於會話的asp.net應用程序移至n層體系結構

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM