All streams
Search
Write a publication
Pull to refresh
40
0
Вилен Т @XuMiX

User

Send message
Так и запишем, п*здеть — не тестировать
Я с хрома слез на ФФ обратно год назад примерно, ни разу не жалею. А вот у хрома сплошные фейлы то с отображением, то с падением, то с поведением. Так что попробуйте, как раз вы :)
Прочитайте внимательно, мы ничего не ждем, никакие процессы не останавливаем.
Пруф, что ФФ медленнее?
Не путайте, он изначально расчитан на то, что нельзя поставить :)
Ну, да сохраняются пропущенные вопросы, но суть в том, что мы не сохраняем состояние выполняющейся операции
Нет, валидация производится заново, в том и фишка
Ну, по сути, конкретно то, что я тут описал используется исключительно для user-initiated действий. Push уведомления мы не реализовывавали пока, за ненадобностью.
Ну, заголовок, может и правда громковат, но по факту состояние формы/бд и т.д. нигде не сохраняется между запросами
омг. На клиенте вообще может не быть данных, в процессе расчетов могут быть использованы тысячи записей, которые через секунду могут быть изменены уже.
Ну, в простейшем случае — да. Но никто не мешает сделать разработчику так, например:
var errors = (from o in context.FormData where o.Value != null select string.Format("Error {0} must be null", o.Key)).ToList();

            if (errors.Count > 0)
            {
                ExceptionHelper.Interactive(Guid.NewGuid(), "У вас тут ошибочка вышла" + errors.ToString(", "));
            }

Данные будут для проверки и транзакции разные. Делая проверки и сами проводки в одной транзакции мы точно уверены, что все проверки прошли правильно.
Потому что списание средств со счета не должно произойти, если вдруг случилось «что-то».
Не использовать исключения для (нормативного) управления потоком выполнения.

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

Для этого делаются дополнительные проверки, окнечно, еще до того, как начать что-то делать
Типа такого?:)
public static void Interactive(Guid id, Action method, string message, string header)

Да, насчет 2 я ошибся, конечно
Надо наверное картинку подрихтовать)
Ну вот как-то так:

У нас такие действия возвращают много чего, не только подтверждения. Фактически, мы можем делать все что угодно с клиентом из такого действия, с помощью вот такого:
public void Execute(IFormContext<Order> context)

Внутри context как раз и есть методы, для управления клиентом и показа всяких штук. А вот данный метод как раз используется для неявного прерывания дествия.
Видимо, немного неудачно выбрал фразу для вопроса, точнее не формил ее в виде вопроса. Если вы посмотрите пример, думаю, вам станет все понятно

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Lead