DataStore在flex中 [英] DataStore in flex

查看:270
本文介绍了DataStore在flex中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在程序中遇到问题...请指教我什么是正确的

这是我编程的错误代码

  mx.data::Conflict {
cause = mx.data.messages :: DataMessage {
body = [[lessonidid ],
{
lessonid = 17
lessonplanid = 1
status =active
studentid = 4
},
valueObjects :: Lessonplan {
lessonid = 18
lessonplanid = 1
status =active
studentid = 4
}]
clientId = null
correlationId =
destination =lessonplanRPCDataManager
headers = {
newReferencedIds = null
prevReferencedIds = null
}
identity = {
lessonplanid = 1
}
messageId =28DEF63D-9002-787E-188A-67DFD27407F8
operation = 3
timestamp = 0
timeToLive = 0
}
generatedByLocalCommit = false
clientObject = valueObjects :: Lessonplan {
lessonid = 18
lessonplanid = 1
status =active
studentid = 4
}
destination =lessonplanRPCDataManager
errorID = 0
message =本地项目发生了与远程更改冲突的属性更改。
name =Error
originalObject = {
lessonid = 17
lessonplanid = 1
status =active
studentid = 4
}
propertyNames = [lessonid]
resolved = false
serverObject = lessonplanid = 1
serverObjectDeleted = false
serverObjectReferencedIds = {
}
}
at mx.data::DataStore/http://www.adobe.com/2006/flex/mx/internal::processConflict()[C:\depot\DataServices\branches\ lcds_modeler101\frameworks\projects\data\src\mx\data\DataStore.as:3428]
at mx.data::ConcreteDataService/http://www.adobe.com/2006 /flex/mx/internal::updateCache()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\ConcreteDataService.as: 5468]
在mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::updateCacheWithId()[C:\depot\DataServices\\ $ \\ $ b在mx.data::DataList/http://www.adobe.com。 COM / 2006 /柔性/ MX /内部:: processSequence()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataList .as:2582]
at mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::processSequenceResult()[C:\depot\DataServices\ $ \\ $ b在mx.data::DataListRequestResponder/result()[C:\ depot \DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataListRequestResponder.as:132]
at mx.data::RPCDataServiceAdapter/sendResultEvent( )[C:\depot\DataServices\branches\lcds_modeler101\fram eworks \projects\data\src\mx\data\RPCDataServiceAdapter.as:1508]
at mx.data::RPCDataServiceAdapter/executeQueryResult()[C:\depot\DataServices\ branches \lcds_modeler101\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1444]
在mx.collections :: ItemResponder / result()[E:\ dev \ 4.0.0\frameworks\projects\framework\src\mx\collections\ItemResponder.as:129]
在mx.rpc :: AsyncToken / http:// www。 adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as :239]
at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\4.0.0 \frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
在mx.rpc :: AbstractOperation / http://www.adobe.com / 20 06 / flex / mx / internal :: dispatchRpcEvent()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:244]
在mx.rpc :: AbstractInvoker / http://www.adobe.com/2006/flex/mx/internal :: resultHandler()[E:\dev\4.0.0\frameworks\projects \rpc\src\mx\rpc\AbstractInvoker.as:318]
在mx.rpc :: Responder / result()[E:\dev\4.0.0\frameworks\\ \\projects\rpc\src\mx\rpc\Responder.as:56)
在mx.rpc :: AsyncRequest / acknowledge()[E:\dev\4.0.0\ frameworks \projects\rpc\src\mx\rpc\AsyncRequest.as:84]
at NetConnectionMessageResponder / resultHandler()[E:\dev\4.0.0\frameworks\ projects \rpc\src\mx\messaging\channels\NetConnectionChannel.as:547]
在mx.messaging :: MessageResponder / result()[E:\dev\4.0.0 \frameworks\projects\rpc\ src\mx\messaging\MessageResponder.as:235]


解决方案

Flex文档说,类型冲突的错误是


在检测到冲突时调度

客户机上的未决更改与
提交另一个客户端的更改,或者当由此客户端提交的
更改检测到远程
目标处的
a冲突错误时。


您必须自己找出解决方案(这不是由Flex引起的,而是由您要提交的数据引起的)。


本地项目对属性
的更改与远程更改发生冲突


听起来像你有某种验证失败,因为

  c lientObject = valueObjects :: Lessonplan {
lessonid = 18
lessonplanid = 1
status =active
studentid = 4}



  originalObject = {
lessonid = 17
lessonplanid = 1
status =active
studentid = 4
}

不兼容。我认为不允许改变leessid。

I am having problems in my program... Please advice me of what is right

this is the error code of my prog

mx.data::Conflict {
  cause = mx.data.messages::DataMessage {
    body = [["lessonid"],
    {
      lessonid = 17
      lessonplanid = 1
      status = "active"
      studentid = 4
    },
    valueObjects::Lessonplan {
      lessonid = 18
      lessonplanid = 1
      status = "active"
      studentid = 4
    }]
    clientId = null
    correlationId = ""
    destination = "lessonplanRPCDataManager"
    headers = {
      newReferencedIds = null
      prevReferencedIds = null
    }
    identity = {
      lessonplanid = 1
    }
    messageId = "28DEF63D-9002-787E-188A-67DFD27407F8"
    operation = 3
    timestamp = 0
    timeToLive = 0
  }
  causedByLocalCommit = false
  clientObject = valueObjects::Lessonplan {
    lessonid = 18
    lessonplanid = 1
    status = "active"
    studentid = 4
  }
  destination = "lessonplanRPCDataManager"
  errorID = 0
  message = "Local item has changes to properties that conflict with remote change."
  name = "Error"
  originalObject = {
    lessonid = 17
    lessonplanid = 1
    status = "active"
    studentid = 4
  }
  propertyNames = ["lessonid"]
  resolved = false
  serverObject = lessonplanid=1
  serverObjectDeleted = false
  serverObjectReferencedIds = {
  }
}
    at mx.data::DataStore/http://www.adobe.com/2006/flex/mx/internal::processConflict()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataStore.as:3428]
    at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::updateCache()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\ConcreteDataService.as:5468]
    at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::updateCacheWithId()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\ConcreteDataService.as:5316]
    at mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::processSequence()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataList.as:2582]
    at mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::processSequenceResult()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataList.as:2880]
    at mx.data::DataListRequestResponder/result()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataListRequestResponder.as:132]
    at mx.data::RPCDataServiceAdapter/sendResultEvent()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1508]
    at mx.data::RPCDataServiceAdapter/executeQueryResult()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1444]
    at mx.collections::ItemResponder/result()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\collections\ItemResponder.as:129]
    at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as:239]
    at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
    at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:244]
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:318]
    at mx.rpc::Responder/result()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:56]
    at mx.rpc::AsyncRequest/acknowledge()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:84]
    at NetConnectionMessageResponder/resultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:547]
    at mx.messaging::MessageResponder/result()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:235]

解决方案

The Flex documentation says, an error of type conflict is

Dispatched when a conflict is detected between either pending changes on this client and changes submitted by another client, or when changes submitted by this client result detect a conflict error at the remote destination.

You will have to figure the solution out yourself (it is not something caused by Flex, but by the data you want to commit).

Local item has changes to properties that conflict with remote change.

sounds to me like you have some kind of verification failure, because

clientObject = valueObjects::Lessonplan {
    lessonid = 18
    lessonplanid = 1
    status = "active"
    studentid = 4   }

and

originalObject = {
    lessonid = 17
    lessonplanid = 1
    status = "active"
    studentid = 4
  }

are incompatible. I suppose changing the lessionid is not allowed.

这篇关于DataStore在flex中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆