Oracle Dependency 使用要注意的一些問題。

來源:互聯網
上載者:User

最近項目中要用到wcf 伺服器,用戶端構架。用戶端會向伺服器發出一個請求,查詢一個表。wcf伺服器再去訪問伺服器資料庫,得到結果後,wcf伺服器再將結果返回給用戶端。
這樣做有一個問題,就是用戶端資料更新的問題。重新整理太頻繁,效能受影響。OracleDependency就是用來解決這個問題的。當你註冊一個OracleDependency時,如果你關心的資料庫狀態發生改變,就會由資料庫發送一個訊息到註冊端。這樣,就不用不停的去重新整理了。只要安心等待資料庫發送的通知就可以了。
在我的項目中,我的wcf伺服器和用戶端是雙工通訊,當用戶端連到wcf伺服器時,就註冊一個回呼函數給wcf伺服器。用戶端發出對一個表的查詢,wcf伺服器就利用OracleDependency去資料庫伺服器訂閱這個查詢,如果關心的資料庫的狀態發生改變,資料庫通知wcf伺服器,wcf伺服器再通過用戶端的回呼函數通知用戶端。關於wcf的知識我就不多說了。我想說的只是OracleDependency的問題。因為這方面網上資料比較少。
在使用OracleDependency時要注意以下幾個問題。
0.OracleDependency能檢測什嗎?
資料或者資料庫狀態。
1。為什麼有時候能收到伺服器的通知,有時候就不能了呢?
這是因為你產生一個OracleDependency的對象時,沒有儲存它。如果它只是一個局部變數,就會被記憶體回收,而回收的時間是不固定的。一旦被記憶體回收就不能接收到通知了。
2.註冊了一個OracleDependency,一定要取消註冊嗎?
是的,要是你不取消,就會一直發訊息過來,即使你的OracleDependency對象析構了,也不能取消在資料庫伺服器端的註冊。這個對資料庫伺服器的影響很大。
3.怎樣取消OracleDependency註冊?
當你初始化時,就有幾個參數,一個是是否只監聽一次改變,如果這個值你設的是true,那麼在收到一個事件通知時,資料庫端就會自動取消這個註冊。還有一個初始化的參數是設定註冊有效時間。當時間到了,資料庫伺服器也會取消註冊。如果你在初始化時,選擇監聽多次,並且把時間設定為0(永久有效)那麼你就必須在你的程式裡顯式調用RemoveDependency()這個函數來取消註冊。
4.什麼時候用OracleDependency?
關心的資料庫狀態的變化不太頻繁時。

去噹噹網買書,價格更低,送貨上門。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.