0
爲什麼微風不斷拋出「併發節省不準」與manager.enableSaveQueuing(真)選項啓用「併發節省不準」與manager.enableSaveQueuing(真)
爲什麼微風不斷拋出「併發節省不準」與manager.enableSaveQueuing(真)選項啓用「併發節省不準」與manager.enableSaveQueuing(真)
很簡單,因爲你想發出多個同時保存。 Breeze的默認保存選項是排隊數據以進行保存。 在你的情況,你可以覆蓋選項允許同時保存如下:
var so = new breeze.SaveOptions({allowConcurrentSaves: true})
return manager.saveChanges(null,so)
.then(saveSucceeded) //
.fail(saveFailed);
編輯
由於您使用的是「saveQueuing」插件,忽略我的第一個答案,因爲它僅適用於併發保存。
我不知道你的代碼是如何工作的,但你可能需要一些注意事項,節省排隊的情況:
manager.saveChanges()
一次。在服務器端,覆蓋了互斥鎖語句在新savechanges()
方法着想BeforeSaveEntity()
方法,你的代碼可能是這個樣子:
public void SaveChanges(SaveWorkState saveWorkState)
{
lock (__lock) // this will block any try to issue concurrent saves on the same row
{
// Saving Operations goes here
}
}
你可能想在NoDB示例中查看它。
對不起,我使用[saveQueuing](http://www.breezejs.com/documentation/concurrent-saves#savequeuing)插件,並指出[這裏](http://stackoverflow.com/ a/16043515/995526)saveOptions和savequeuing是相互排斥的方法。這似乎是我需要添加rowversion到我的模型類爲了使用這個插件。 –
啊!對不起,我誤解了你的問題。我不知道排隊是否可以解決這個問題,我已經更新了我的答案 –