У меня есть приложение Silverlight, взаимодействующее с сервером через службы WCF. Первоначально у меня было все в главном приложении Silverlight, но теперь я хотел разделить наши классы на отдельный проект библиотеки классов Silverlight. Это, однако, дало мне некоторые нечетные вопросы ...Ссылка на службу WCF от библиотеки классов Silverlight
Я хотел, чтобы классы, которые делают сообщение WCF, выходят в отдельный проект. Таким образом, я:
- Создал новый проект; Библиотека классов Silverlight
- Перемещено классы из моего приложения Silverlight в мою библиотеку классов Silverlight
- Удалена ссылка службы в приложении, поскольку я больше не вызываю ее из приложения.
- Добавлена ссылка на службу из проекта библиотеки классов.
Теперь - сборка в порядке, и я получаю intellisense для сервисов в библиотеке классов, поэтому кажется, что все в порядке. Я также обновил сервис и получил обновления в библиотеке классов. Но при запуске приложения он терпит неудачу при выполнении вызова службы дает следующее сообщение об ошибке:
InvalidOperationException был необработанное кодом пользователя
Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт «MyServiceReference.IMyService» в раздел конфигурации клиента ServiceModel. Возможно, это связано с тем, что файл конфигурации не найден для вашего приложения или потому, что элемент-конечный элемент, соответствующий этому контракту, не найден в клиентском элементе.
Похоже, что он не может найти услугу, но почему? Я предполагаю, что не должно быть проблем с ссылками на службы из библиотеки классов Silverlight, так как это позволяет мне добавить один?
Thx - это решило его! Решено путем копирования содержимого ServiceReferences.ClientConfig из проекта библиотеки классов или добавления той же ссылки службы в проект приложения. Итак, я полагаю, что это приложение само обрабатывает запрос на обслуживание, даже если оно определено в другом месте? Но это кажется немного взломанным. Можно ли использовать ссылки на службы в проектах Class Library? – stiank81
О, конечно же, почти желательно иметь ссылки на службы в библиотеке классов, я бы сказал. Просто не забудьте поместить их конфиг в основное приложение - вот и все :-) –
Хорошо :-) Thx для ответа! – stiank81