Я в настоящее время имеют многоуровневую архитектуру, которая выглядит следующим образом:обнажая существующий Service Layer с помощью ASP.NET WebAPI
- Service Layer - Это главное взаимодействие с доменом. Содержит все коммерческие правила, валидацию и т. Д.
- Слой данных/репозитория - это слой, который обрабатывает всю сохранность данных. Не содержит бизнес-логики или проверки. Содержит в основном
Repository<T>
,UnitOfWork
(EF Specific) и все EF вещи, какDbContext
,EntityTypeConfiguration
«s и т.д. - Entity Framework
- SQL Server
Я использую домен модель анемии, так основной ПОКО-х которые представляют собой проблемную область.
У меня есть пара вопросов об экспонировании через ASP.NET WebApi
.
- Где находится охрана? В основном такие вещи, как пользователь, имеют доступ к редактированию записи или типу записи. Может ли пользователь выполнить конкретное действие и т. Д. Также, как и аутентификация/авторизация на основе ролей.
- Должен ли я использовать WebApi в качестве фактического уровня обслуживания или использовать его для отображения существующего уровня сервиса поверх HTTP в RESTful?
- Учитывая основной пример того, как изменить имя категории, где я могу обеспечить, чтобы текущий пользователь имел полномочия изменять указанную запись? Я полагаюсь на
Thread.CurrentPrincipal
, чтобы получитьIdentity
для проверки заданной роли и установить это в WebApi? Приложение Mvc?
Есть ли хорошие примеры, которые показывают такую ситуацию, о которой я говорю?
BTW - Я использую ASP.NET MVC 5 для обслуживания оболочки приложения (SPA), а затем передним интерфейсом будет все AngularJS.
Обратите внимание, что если вы собираетесь использовать Angularjs и WebApi, вам не нужен ASP.NET MVC5 – Dalorzo
@Dalorzo. Мы используем ASP.NET MVC для обслуживания оболочки приложения и предоставляем шаблонный контроллер. Также используйте кассету для комплектации/минимизации. – Sam