2008-10-09 2 views
0

Это будет мой первый вопрос на этой платформе. Я сделал много разработок с помощью Flex, WebORB и ASP.NET. Мы решили проблемы параллелизма с обменом сообщениями (Pessimistic Concurrency Control). Это работает очень хорошо, но также делает приложение зависимым от обмена сообщениями. Нет обмена сообщениями, без контроля параллелизма. Я знаю, что ASP.NET имеет контроль над версиями в DataSet, но как бы вы это сделали и используете, если работаете в RIA. Кажется, трудно идти и хранить каждый набор данных в сеансе клиента ... Итак, если клиенту потребуются все продукты, мне нужно будет сохранить набор данных в сеансе клиента. Когда клиент что-то изменит на продукт и сохранит продукт, я смогу затем обновить набор данных (сохраненный в сеансе) и попытаться сохранить его ... Кажется, много работы и много памяти, которые будут использоваться (потому что эти продукты будут храниться в памяти клиента, поэтому набор данных должен храниться на сеансе на стороне сервера). Я думаю, что самый простой способ - предоставить всем DTO номер версии. Если клиент попытается сохранить DTO, я мог бы сравнить номер версии с номером в базе данных.Параллельность в RIA

Ливны Cardoen

ответ

1

Это то, что я делал раньше, - как исходные данные доносились из базы данных SQL Server, мы просто использовали rowversion напечатал колонку в каждой DTO, чтобы определить, является ли она изменилась, когда пользователь был работаю над этим.

На этом этапе вы можете либо закрепить ошибку, либо попытаться определить способ слияния изменений, но по крайней мере вы можете сказать, что она изменилась под вами :)