У меня есть прикладная архитектура, которая имеет следующие уровни (или проекты c #).
- веб-интерфейс (asp.net mvc2)
- сервисный уровень (обычная библиотека классов c #)
- Уровень модели (обычная библиотека классов c # с сущностями, интерфейсами службы и хранилища)
- Уровень данных (реализует интерфейс хранилища, определенный в BLL, и использует NHibernate)
ISessionоткрывается по запросу http и работает нормально.
Теперь я хотел бы добавить слой wcf поверх моего текущего уровня обслуживания.Проект wcf явно вызывает оригинальные классы сервисного уровня.Но как только я это сделаю, фабрика сессий / сессий на asp.net станет непригодной / недоступной.Похоже, wcf работает в совершенно ином контексте, чем asp.net.Поэтому я хотел бы перенести логику инициализации фабрики сессий и управления сессиями в wcf.Как я должен это делать?и даже раньше это хорошая практика?одна из причин, по которой я хотел бы добавить wcf, заключается в том, что я хочу представить операции другим приложениям (которые могут не основываться на http).
Любая помощь, публикация в блоге или ссылка на книгу будет принята с благодарностью.