Лучший отвечающий
Использование WCF в WPF Prism приложении

Вопрос
-
Всем привет!
Не подскажете как можно в WPF (используется Prism, UnityExtentions) сделать так, чтобы сервисы WCF вынести в отдельный проект, сделать в нем репозиторий и зарегистрировать его в контейнере. А уже в модулях просто внедрять нужные репозитории...
Кто нибудь так делал?
18 января 2013 г. 11:22
Ответы
-
Сборка 1 (Infrastructure): описываете интерфейс WCF-сервиса. IService
Сборка 2: (Services): Собственно реализация интерфейса со всеми фичами для WCF. Service : IService
Сборка 3 (WPF-приложение): В приложение импортируете общий интерфейс из Сборки 1 и вызываете функции этого интерфейса, тем самым используя реализацию из Сборки 2, но напрямую на нее не ссылаясь.
- Изменено Kirill Bessonov 18 января 2013 г. 12:20
- Помечено в качестве ответа Abolmasov Dmitry 21 января 2013 г. 9:23
18 января 2013 г. 12:19 -
Если интерфейсы и реализация у вас будут в одной сборке - зачем вам тогда Unity? В том то и фишка, что в инфраструктуре в идеале должны быть интерфейсы, а реализация в другой сборке, здесь и появляется модульность и всяческие связанные с ней прелести.
По поводу конфига, тут конечно получаются некоторые заморочки. Если полностью в app.config хранить, то конечно в главном приложении. Можно так же настраивать программно или же через какие нибудь враперы. Или даже через контейнер! Сделать сервис, к примеру ISettings, который будет предоставлять возможность управления настройками приложения (в том числе и байниднгов). И этот сервис импортировать в реализацию WCF-сервиса. То есть в реализации WCF получить ссылку на экземпляр ISettings, который в свою очередь может предоставить настройки подключения.
- Помечено в качестве ответа Abolmasov Dmitry 21 января 2013 г. 9:23
18 января 2013 г. 14:53
Все ответы
-
Проще говоря, как правильно использовать WCF сервисы в WPF приложении в котором модули - это отдельные проекты.
Как то не хочется добавлять WCF сервисы в каждый модуль...
18 января 2013 г. 11:43 -
Сборка 1 (Infrastructure): описываете интерфейс WCF-сервиса. IService
Сборка 2: (Services): Собственно реализация интерфейса со всеми фичами для WCF. Service : IService
Сборка 3 (WPF-приложение): В приложение импортируете общий интерфейс из Сборки 1 и вызываете функции этого интерфейса, тем самым используя реализацию из Сборки 2, но напрямую на нее не ссылаясь.
- Изменено Kirill Bessonov 18 января 2013 г. 12:20
- Помечено в качестве ответа Abolmasov Dmitry 21 января 2013 г. 9:23
18 января 2013 г. 12:19 -
Спасибо за совет!
А почему бы не подключить WCF и реализовать интерфейсы в Сборка 1?
Получается что из сборки в которую добавляются ссылки на WCF сервисы нужно скопировать конфиги биндинга в главное WPF приложение?
18 января 2013 г. 13:42 -
Если интерфейсы и реализация у вас будут в одной сборке - зачем вам тогда Unity? В том то и фишка, что в инфраструктуре в идеале должны быть интерфейсы, а реализация в другой сборке, здесь и появляется модульность и всяческие связанные с ней прелести.
По поводу конфига, тут конечно получаются некоторые заморочки. Если полностью в app.config хранить, то конечно в главном приложении. Можно так же настраивать программно или же через какие нибудь враперы. Или даже через контейнер! Сделать сервис, к примеру ISettings, который будет предоставлять возможность управления настройками приложения (в том числе и байниднгов). И этот сервис импортировать в реализацию WCF-сервиса. То есть в реализации WCF получить ссылку на экземпляр ISettings, который в свою очередь может предоставить настройки подключения.
- Помечено в качестве ответа Abolmasov Dmitry 21 января 2013 г. 9:23
18 января 2013 г. 14:53 -
21 января 2013 г. 9:22