ASP.Net中的緩衝方案(不僅僅是Cache和Session)(我在CSDN上和別人的爭論)

來源:互聯網
上載者:User
我想設計一個完善的緩衝方案,用於在程式的各個地方緩衝資料。

應用程式級的Cache和Application大家都懂,就不說了
使用者會話級的Session也懂,也不說

我要說的是小一點作用範圍的。

線程級:在且僅在某個線程內有效緩衝。比如,可以定義一個資料庫連接對象,線上程級把它緩衝起來,那麼,執行各種資料庫操作的時候,就不用擔心它會衝突,因為當前CPU只有一個線程在執行。我們對資料庫連接的一般做法都是在每個對象內部聲明一個資料庫連接或者作為屬性由對象外部傳進去,我覺得這種做法都不方便,如果能夠實現線程級,則可以在資料層各個資料對象內部直接使用這個被緩衝了的資料庫連接,沒有衝突,也在最大限度上充分利用了資料庫連接。

請求級:在且僅在某一次請求的範圍內有效緩衝。有時候,對於資料庫的串連,我們都希望,在程式使用時串連一次資料庫,一直用到這次請求結束。這就是請求級啦。

我覺得,線程級比請求級更好,因為ASP.Net運行時是這樣處理的,收到一個請求,就從線程池指派一個線程去處理這個請求,同時也是從HttpApplication執行個體池中拿一個HttpApplication執行個體去處理,所以,一個線程可以被用於多次請求,一個HttpApplication執行個體,也可能被用於多個請求。

經過半個月來尋找資料,我已經解決了絕大部分難題,做起來也挺麻煩的。
現在想聽聽大家的意見,看看大家有沒有更好的實現方法。

CSDN上的地址
http://community.csdn.net/Expert/TopicView3.asp?id=5147435

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.