У меня есть веб-сайт, созданный с использованием ASP.NET MVC3, который имеет следующий уровень:
- ProjectName.Shared (модель + контракты на обслуживание)
- ProjectName.Infrastructure
- ProjectName.Data
- ProjectName.Data.Sql
- ProjectName.Managers (бизнес-уровень)
- ProjectName.Services (службы WCF)
- ProjectName.UI.Main (приложение ASP.NET MVC3)
Это структура, которую я недавно придумал после некоторого рефакторинга.К сожалению, не существует полного разделения между пользовательским интерфейсом и моим бизнес-уровнем, поэтому в этой области может быть использован еще один рефакторинг, чего я сейчас не могу сделать, потому что у меня сжатые сроки.
На данный момент мойклиент запросил некоторые новые функции, которые включают отправку электронных писем пользователям после того, как произошли некоторые события.В настоящее время веб-сайт отправляет электронные письма, используя библиотеку Postal , которая пока работает отлично.Это происходит в веб-приложении MVC, которое отличается от случая, который у меня есть для новых функций ...
Проблема:
У меня есть случай, когда янужно разрешить приватный метод внутри моего бизнес-уровня для рассылки электронных писем пользователям.Причина, по которой я не могу сделать это внутри метода Action, заключается в том, что существует множество путей кода, которые в конечном итоге вызывают этот закрытый метод.Так что это не совсем специфично для одного метода действия.
Предлагаемое решение:
Я имею в виду создание EmailsController , который я могувызвать его метод через вызовы HTTP-POST из моего бизнес-уровня.Затем я передал бы параметры, необходимые для отправки электронного письма через аргументы метода Action.
Но я нахожу это решение несколько ошибочным и хакерским.Поэтому я действительно хотел бы услышать некоторые мысли о том, как подойти к этой проблеме.