Если уж так необходимы разные контроллеры или экшены для разных клиентов, не проще ли сделать свою реализацию ActionInvoker, который будет ориентироваться, например, на некий атрибут в котором указывать для DisplayMode этот экшен?
Не хочу обидеть автора, но даже я не имея магазина, ничего нового не узнал. Таких статей за последние 5 лет, был миллион. Поскольку вы имеете солидный опыт в ecommerce, я бы лучше выбирал очень узкие темы и описывал все тонкости.
Я согласен, что не бывает единственно верного решения, всегда есть нюансы. Но к примеру у нас в проекте (приличный хайлоад) таких ситуаций не возникало.
Ну мне кажется что управление транзакцией в БД должна управлять сама БД, но это мое мнение.
В разных ситуациях по разному, если приложение не критично по производительности, то такой вариант очень уместен в силу легкости его поддержки, читаемости и т.д., но когда встает вопрос производительности, то этот подход уже не катит.
Даст более быстрый код (не для всех проектов это принципиально), легче отлаживать и искать баги, ну и соответственно нет тех проблем про которые статья.
Конкретно в вашем примере вместо одного конекта и запроса к БД получается 2.
Мне кажется конкретно в вашем случае транзакции в коде только добавляют проблем.
когда БД на другой машине, TransactionScope работает через distributed transactions, а настроить ее и заставить работать то еще удовольствие. Ну и на быстродействии это сказывается очень сильно. Для более менее хайлоада это вообще табу.
Низнаю как сейчас, работали с паркингом года 3 назад.
1. В договоре было прописано 4 часа даунтайма
2. Тех. поддержка работает с 10 до 19, только в будни и только по email.
В разных ситуациях по разному, если приложение не критично по производительности, то такой вариант очень уместен в силу легкости его поддержки, читаемости и т.д., но когда встает вопрос производительности, то этот подход уже не катит.
Конкретно в вашем примере вместо одного конекта и запроса к БД получается 2.
Мне кажется конкретно в вашем случае транзакции в коде только добавляют проблем.
1. В договоре было прописано 4 часа даунтайма
2. Тех. поддержка работает с 10 до 19, только в будни и только по email.
Что не совсем сочетается с решениями для бизнеса.