Интегрировать приложение Silverlight4 с приложением asp.net - PullRequest
0 голосов
/ 15 июля 2011

Я сделал одно приложение в silverlight4 и использовал EDM и WCF-RIA для доступа к базе данных.

Теперь я хочу интегрировать это приложение в проект asp.net, а когда я интегрирую его в проект ASP.net,дает это исключение -

Ошибка времени выполнения Microsoft JScript: необработанная ошибка в операции загрузки приложения Silverlight завершилась ошибкой для запроса «GetQuestions».Удаленный сервер возвратил ошибку: NotFound.в System.ServiceModel.DomainServices.Client.OperationBase.Complete (Исключительная ошибка) в System.ServiceModel.DomainServices.Client.LoadOperation.Complete (Исключительная ошибка) в System.ServiceModel.DomainServices.Client.DomainContextRync..ServiceModel.DomainServices.Client.DomainContext. <> C_ DisplayClass1b.b _17 (Object)

, поэтому, пожалуйста, помогите мне всем.

1 Ответ

1 голос
/ 15 июля 2011

Ваш RIA Services DomainService состоит из 2 частей. Вы скопировали клиентскую часть благодаря копированию файла XAP, но вам не хватает серверной части службы RIA WCF.

Вам необходимо переместить файлы службы домена с исходного веб-сайта Silverlight в новый проект ASP.Net (вместе с любыми настройками web.config, необходимыми для его правильного подключения). Этого нет в файлах ASPX. Не видя специфики ваших существующих проектов, я не могу точно сказать, какие имена файлов вам нужно перенести.

Я предлагаю всегда создавать библиотеки RIA Service вместо того, чтобы добавлять их непосредственно в приложение Silverlight. Затем вы можете связать клиентскую библиотеку с любым количеством приложений Silverlight, а затем связать .Web часть библиотеки RIA с вашим веб-сайтом, чтобы обеспечить службу WCF. Опять же, ключ заключается в переносе настроек конфигурации.

Вероятно, будет гораздо больше смысла, если вы создадите новый сервис RIA проект библиотеки , добавите свой EDM и т. Д., А затем свяжите половинки с отдельным приложением Silverlight и вашим новым веб-сайтом ASP.net.

Шаг за шагом:

  1. Создайте проект библиотеки служб RIA, выбрав Добавить новый проект . Выберите Silverlight слева. Выберите Библиотека классов служб WCF RIA справа. Я предполагаю, что это имя по умолчанию RIAServicesLibrary1 для этого примера. Он создаст клиентскую библиотеку Silverlight с именем RIAServicesLibrary1 и стандартную библиотеку .Net с именем RIAServicesLibrary1.Web для использования веб-сервером.
  2. Добавьте свой EDMX в проект RiaServices.web. Выберите Добавить новый элемент . Выберите Данные слева. Выберите ADO.Net Entity Data Model справа. Я буду предполагать, что это называется по умолчанию Model1.edmx для этого примера. Подключите его к таблицам базы данных и т. Д.
  3. Создайте свой проект, чтобы на следующем этапе была найдена модель данных.
  4. Создайте доменную службу, ссылающуюся на ваши модели EDMX в вашем RiaServices.web проекте. Выберите Добавить новый элемент . Выберите Web слева. Выберите Класс обслуживания домена справа. Я буду предполагать, что это называется DomainService1.cs для этого примера. Выберите элементы данных во всплывающем окне Добавить новый класс обслуживания домена , установив флажки. Для каждого выбранного элемента будет создан набор объектов и методов RIA-сервисов.
  5. Добавьте ссылку на проект клиентской библиотеки служб Ria ( RIAServicesLibrary1 ) в ваше приложение Silverlight.
  6. Добавьте ссылку на проект веб-библиотеки служб RIA ( RIAServicesLibrary1.Web ) в ваше веб-приложение хостинга (например, на веб-сайт ASP.Net).
  7. Скопируйте / объедините различные разделы файла RIAServicesLibrary1.Web / app.config в файл / web.config. Это будет включать любые строки подключения и разделы модуля.
  8. Снова создайте проект, чтобы в окне «Источник данных» отображались ваши новые источники данных «Контекст домена».
  9. Используйте клиентский объект RIAServicesLibrary1 (в данном примере называемый DomainService1) непосредственно из вашего кода Silverlight, например:

    Клиент DomainService1 = новый DomainService1 ();

или используйте окно Data Sources для перетаскивания новой сетки и т. Д. На страницу.

Если окно Data Sources не отображается, выберите меню «Данные», а затем «Показать источники данных».

Для получения дополнительной информации пройдите по ссылке Microsoft: Использование WCF RIA Services

...