Я играю вокруг создания демонстрационного приложения призмы. Приложение, которое у меня есть, имеет проект оболочки и другой модуль, который имеет службу призмы и представление (и модель представления). (в основном на основе видео Майка Таулти, но в WPF, а не в Silverlight).
Я настроил призму-сервис для вызова моего веб-сервиса. Казалось, все настроено правильно, но когда я вызываю этот код:
MyServiceReferenceClient myServiceReferenceClient = new MyServiceReferenceClient();
Я получил эту ошибку:
Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт «MyServiceReference.IMyService» в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего приложения не найден файл конфигурации, или из-за того, что в клиентском элементе не найден элемент конечной точки, соответствующий этому контракту.
Я погуглил ошибку и обнаружил, что мне нужно поместить содержимое моего app.config в мой проект оболочки, чтобы оно заработало.
Я скопировал этот файл в мой проект Shell, и он отлично работал.
Но мне это не нравится. Идея призмы должна быть модульной. Если мне нужны ссылки на все веб-сервисы, вызываемые в модулях, оболочка должна знать больше о внутренней работе каждого модуля, чем должна.
Есть ли способ вызывать веб-сервисы в модулях, и при этом все еще есть замечательные преимущества Prism для модулей (через файл конфигурации) и регионов, единственное, что нужно знать оболочке?