我們有一個Web應用程序,它由一個帶UI的3層後端(Controller/Biz/Data)組成。我們的數據層負責將數據從數據庫實例(SQL)中提取出來,業務層將消息發送到數據並創建派生屬性,控制器負責將這些更改發送到UI。三層體系結構中的SQL依賴關係和SignalR
我們需要在應用程序中實時更新必須在數據庫級別(而不是控制器級別)進行跟蹤。
我們選擇使用SQL Dependency和SignalR作爲我們的解決方案。
我研究過的關於SignalR和SQL依賴關係的一切都在數據庫級別,SQL依賴性將在數據層內識別更改和廣播。由於顯而易見的原因,此方法將繞過在業務層中創建的派生屬性,並給我們一個不同的外觀對象。
我能想到的唯一解決方案是使用SQL Dependency跟蹤更改,將它們轉儲到某個表/對象中,然後使用輪詢從控制器,到biz層,到數據層獲取這些更改,然後備份。
- 問題1:有沒有更好的解決方案?
- 問題2:什麼是包含業務層邏輯的最佳解決方案,但仍然能夠跟蹤數據層的更改?
- 問題3:這可能沒有投票嗎?
這不能解決我的問題,因爲這種類型的代碼/邏輯不應該在業務級別。業務級別不應該意識到任何涉及該模式的內容,只應該在DTO上工作。 – mtsuggs
爲了什麼目的?那麼你可以坐下來欣賞,你保持了三層概念,而犧牲一個解決方案?我們使用這些工具來解決問題。並非每個問題都適合我們都喜歡這個十年的設計模式的最新理念。你有一個解決方案,所以你模糊你的控制器和業務層。大不了。只要保持視圖或最終用戶不受直接數據訪問的影響,您仍然是個好主意。 – Jason