2010-03-25 57 views
6

我們有一個緩存,我想把一些事務範圍放在一邊,這樣任何進程都必須顯式「提交」它想要對緩存對象所做的更改,並在進程中途失敗時使其能夠回滾任何更改好。如何在C#中實現內存事務作用域?

現在,我們正在深入克隆獲取請求上的緩存對象,它的工作原理,但它不是一個乾淨的解決方案,也涉及到一點點的維護。

我記得聽說過.NetRocks上的一些MTS(內存事務處理範圍)解決方案,但不記得它的名字!有人知道有一個很好的MTS框架嗎?另外,如果我要實現我自己的目標,是否有關於如何做到這一點的良好指導方針/模式?

謝謝,

編輯:得到我的縮寫完全錯了!它應該是STM,軟件事務內存

回答

3

聽起來好像你正在記住.NET Rocks對Software Transactional Memory的討論。

不幸的是,這個(還沒有)發佈,工作,可用的框架。這仍然是DevLabs的一個研究項目(STM.NET)。

在這個時候,您的克隆選項可能仍然是最好的方法,至少對於任何非研究或商業應用來說。

+0

謝謝,我的縮寫錯了! – theburningmonk 2010-03-25 17:39:06

+0

@theburningmonk:希望這會有所幫助 - 這是一個有趣的項目,但不幸的是,還不完全「還沒有」...... – 2010-03-25 17:51:51