2015-02-11 54 views
1

我已經成功地從JayData站點http://jaydata.org/blog/optimistic-concurrency-support-in-jaydata-1.2 中成功實施了樂觀併發示例,後面帶有一個WCF DataService,就像在示例中一樣。Jaydata,Web Api和樂觀併發性

現在,有人負責決定我們需要將項目中的OData後端更改爲Web Api。

但我無法獲得與Web Api一起使用的示例。

我的第一次嘗試:只需切換後端,所有的Javascript都是一樣的。 這會導致令牌未定義。

當創建與Jaydata SvcUtil工具實體描述中,將會看起來像這樣:

'token': { 
     type: 'Edm.Binary' 
    }, 

令牌隨後將顯示爲[UInt8Array],但執行saveItems時()命令,這兩個項目將被保存,因爲它不會在If-Match頭部中發送令牌。 只要我將concurrencyMode:$ data.ConcurrencyMode.Fixed添加到實體描述中,則令牌將再次未定義。

有什麼我不得不在服務器端實現我的OData控制器,使其工作? 或者我還必須添加別的東西到我的實體,可能是Web Api,它是不足以具有字節[][時間戳]屬性?

+0

聲明:我的工作JayData項目......我會將此發佈給開發團隊,仔細檢查我們是否可以提供一些快速解決方案 – 2015-02-11 14:46:19

回答

1

聲明:我的JayData項目

恐怕樂觀併發只在批量負載格式的支持工作。在編寫WebAPI的批量有效載荷格式時,OData仍然不能在Olingo和JayData 1.3.x和1.4.x中使用 - 但是我們計劃在3月份提供這種支持 - 但僅限於OData v4。

當的WebAPI的OData是一流的,請務必仔細閱讀要求,並就其在的WebAPI的OData可用性仔細檢查 - 因爲我們遷移大型項目時碰到一些困難......

+0

謝謝您的回答。該項目還有相當長的一段時間,所以我希望我們能夠在1.4版本可用時跳上它。猜猜我還會檢查我是否已經可以使用該項目的1.4 alpha版本,我在Jaydata網站上看到的關於批量請求功能的博客文章可能非常方便。 – Malyngo 2015-02-16 16:23:34