Asp.net web api Jaydata、webapi和乐观并发

Asp.net web api Jaydata、webapi和乐观并发,asp.net-web-api,jaydata,optimistic-concurrency,Asp.net Web Api,Jaydata,Optimistic Concurrency,我已经从JayData站点成功实现了乐观并发示例 后面有一个WCF数据服务,就像示例中一样 现在,负责人决定我们需要将项目中的OData后端更改为WebAPI 但我无法让示例与Web Api一起工作 我的第一次尝试:只需切换出后端,所有Javascript都是一样的。 这将导致令牌未定义 使用Jaydata SvcUtil创建实体描述时,它将如下所示: 'token': { type: 'Edm.Binary' }, 令牌随后将显示为[UInt8Array],但在执行s

我已经从JayData站点成功实现了乐观并发示例 后面有一个WCF数据服务,就像示例中一样

现在,负责人决定我们需要将项目中的OData后端更改为WebAPI

但我无法让示例与Web Api一起工作

我的第一次尝试:只需切换出后端,所有Javascript都是一样的。 这将导致令牌未定义

使用Jaydata SvcUtil创建实体描述时,它将如下所示:

'token': {
        type: 'Edm.Binary'
    },
令牌随后将显示为[UInt8Array],但在执行saveItems()命令时,这两个项都将被保存,因为它不会在If-Match头中发送令牌。 一旦我将concurrencyMode:$data.concurrencyMode.Fixed添加到实体描述中,令牌将再次被取消定义

我的OData控制器是否需要在服务器端实现一些功能才能正常工作?
或者我必须向我的实体添加其他内容吗?也许对于Web Api,将令牌作为字节[]并带有[Timestamp]属性是不够的?

免责声明:我为JayData项目工作

恐怕乐观并发仅在批处理负载格式中受支持。在撰写本文时,WebAPI OData批处理负载格式的使用在Olingo和JayData 1.3.x和1.4.x中仍然不起作用,但我们计划在3月份提供此支持,但仅适用于OData v4


虽然WebAPI OData非常出色,但请确保您仔细检查您的需求,并仔细检查它们在WebAPI OData中的可用性-因为我们在迁移大型项目时遇到了一些困难…

免责声明:我为JayData项目工作。。。我将把这篇文章发给开发团队,以再次检查我们是否能提供一些快速解决方案谢谢你的回答。该项目还有相当长的一段时间,所以我希望我们能够在1.4版可用时跳到1.4版上。我想我还会检查一下我是否已经可以在项目中使用1.4alpha版本,我在Jaydata网站上看到的关于批处理请求功能可能非常方便。