与客户端关联的 CRM 2016 版本戳已过期

CRM 2016 Version stamp associated with the client has expired

对于 CRM 2016,我使用 RetrieveEntityChangesRequest 从 CRM 获取更改的数据:

var request = new RetrieveEntityChangesRequest
        {
            EntityName = entityLogicalName,
            DataVersion = dataToken,
            Columns = columnSet,
            PageInfo = new PagingInfo { Count = Constants.DefaultCRMChunkSize, PageNumber = 1, ReturnTotalRecordCount = false }
        };

以前对我有用,但今天过了一段时间我没有运行,它突然抛出异常:System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]:与客户端关联的版本戳已过期。请执行完全同步。 (故障详细信息等于 Microsoft.Xrm.Sdk.OrganizationServiceFault).

在我的例子中,dataToken 是空的,因为我想第一次获取所有数据。

对这个问题有什么想法吗?请告诉我如何解决它。谢谢。

如本文https://msdn.microsoft.com/en-us/library/jj863599.aspx所述,问题可能是由于将空的数据令牌放入 RetrieveEntityChangesRequest 而引起的,相反,您应该传递空值并从响应中检索最新的令牌。