Проблема параллелизма NHibernate - PullRequest
0 голосов
/ 01 февраля 2010

В выходные я понял, что приложение, над которым я работаю, использует NHibernate как ORM для базы данных sqlite, имеет проблему параллелизма.

По сути, я перебираю коллекцию в javascript и выполняю следующее:

var item = new Item();
item.id = 1;
item.name = 2;
$.post("Item/Save", $.toJSON(item), function(data, testStatus) {
  /*User can be notified that the item was saved successfully*/
}, "text");

И мой код сервера выглядит так:

public ActionResult Save()
{
    string json = Request.Form[0];
    var serializer = new DataContractJsonSerializer(typeof(JsonItem));
    var memoryStream = new MemoryStream(Encoding.Unicode.GetBytes(json));
    JsonItem item = (JsonItem)serializer.ReadObject(memoryStream);
    memoryStream.Close();

    SaveItem(item);
    return Content("success");
}

Проблема параллелизма, очевидно, возникает в цикле, вызывающем Save () для каждого итерированного элемента, но я не уверен, как приспособиться и предотвратить это. Любой совет приветствуется.

1 Ответ

1 голос
/ 01 февраля 2010

В чем проблема параллелизма?

Я не понял вашей проблемы с параллелизмом.

Комментарий: если вы повторяете коллекцию, И в обратной передаче вы перезагружаете окно ...хммм ... здесь есть потенциальная проблема.Первая обратная передача отбрасывает любую ожидающую работу, полностью обновляя страницу.

Предложение: не повторяйте, отправьте всю коллекцию за один вызов Ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...