Пошаговое руководство. Создание библиотеки классов служб полнофункционального интернет-приложения
В этом пошаговом руководстве рассказывается, как создать приложение Silverlight, включающее повторно используемые компоненты из библиотеки классов Службы WCF RIA.
Библиотека классов Службы WCF RIA позволяет создавать повторно используемую логику среднего уровня и уровня представления. Однако использовать библиотеку классов Службы RIA сложнее, чем создать решение Службы RIA .
Чтобы упростить пример, в этом пошаговом руководстве показана библиотека классов в том же решении, что и для приложения Silverlight. Библиотека классов может существовать в отдельном решении.
Дополнительные сведения о библиотеке классов Службы RIA см. в соответствующих подразделах раздела Создание решений служб полнофункционального интернет-приложения.
Примечание Если создавать повторно используемые компоненты не нужно или если требуется просмотреть более подробное пошаговое руководство о создании решения Службы RIA , см. раздел Пошаговое руководство. Создание служб полнофункционального интернет-приложения и доступ к ним.
Предварительные требования
Для использования этого и других пошаговых руководств, представленных в документации Службы WCF RIA, необходимо установить и правильно настроить ряд обязательных программ, таких как среда выполнения Visual Studio 2010 и пакет SDK Silverlight, а также Службы WCF RIA и набор средств Службы WCF RIA. Для их использования также необходимо установить и настроить SQL Server 2008 R2, экспресс-выпуск с дополнительными службами, и установить базы данных AdventureWorks OLTP и LT.
Подробные инструкции по выполнению каждого из этих предварительных требований приведены в разделах узла Основные компоненты для службы WCF полнофункционального интернет-приложения. До начала использования этого пошагового руководства необходимо выполнить приведенные ниже инструкции, что позволит уменьшить количество проблем, которые могут возникнуть при выполнении шагов, описанных в руководствах Службы RIA .
Создание решения Silverlight, содержащего библиотеку классов служб WCF полнофункционального интернет-приложения
Создайте новый проект Службы RIA в Visual Studio 2010, выбрав пункты меню Файл, Создать, а затем Проект.
Откроется диалоговое окно Создать проект.
Выберите шаблон Приложение Silverlight из группы Silverlight в списке Установленные шаблоны и назовите новый проект RIAServicesExample.
В диалоговом окне Новое приложение Silverlight не устанавливайте флажок Разрешить службы WCF полнофункционального интернет-приложения для приложения.
Приложению Silverlight не требуется связь Службы RIA между проектом Silverlight и серверным проектом, так как связь Службы RIA будет существовать между проектами в библиотеке классов.
В Обозревателе решений щелкните правой кнопкой мыши решение, выберите пункт Добавить и нажмите Создать проект.
Откроется диалоговое окно Добавление нового проекта.
В категории Silverlight под названием Установленные шаблоны выберите шаблон Библиотека классов служб WCF полнофункционального интернет-приложения и назовите его AdventureWorksClassLibrary.
Нажмите кнопку ОК.
Теперь решение содержит четыре проекта, как показано на следующем рисунке.
Щелкните правой кнопкой мыши проект ExampleSilverlightApp.Web и выберите команду Добавить ссылку.
Появится диалоговое окно Добавление ссылки.
На вкладке Проекты выберите проект AdventureWorksClassLibrary.Web и нажмите кнопку ОК.
Щелкните правой кнопкой мыши проект ExampleSilverlightApp и выберите команду Добавить ссылку.
На вкладке Проекты выберите проект AdventureWorksClassLibrary и нажмите кнопку ОК.
Создание библиотеки среднего уровня
В проекте AdventureWorksClassLibrary.Web добавьте модель ADO.NET EDM с именем AdventureWorksModel.edmx. Сведения о том, как это сделать, см. в разделе Пошаговое руководство. Создание служб полнофункционального интернет-приложения и доступ к ним.
В мастере Модель EDM включите таблицу Продукт в модель сущностей.
Создайте решение путем нажатия клавиш Ctrl+Shift+B.
Правой кнопкой мыши щелкните проект AdventureWorksClassLibrary.Web, щелкните команду Добавить и выберите пункт Новый элемент.
Выберите шаблон Класс службы домена и назовите его ProductsDomainService.
Нажмите кнопку Добавить.
Откроется диалоговое окно Добавление нового класса службы домена.
Выберите пункт Продукт из доступных моделей данных для представления через службу домена и нажмите кнопку ОК.
Создайте решение путем нажатия клавиш Ctrl+Shift+B.
В Обозревателе решений выберите пункт Показать все файлы в каждом проекте.
Обратите внимание, что папка Generated_Code существует только в проекте AdventureWorksClassLibrary. Несмотря на то что код был сформирован для проекта ExampleSilverlightApp, сформированный код все еще можно использовать из проекта AdventureWorksClassLibrary, так как между ExampleSilverlightApp и AdventureWorksClassLibrary существует ссылка на проект.
Использование сформированного кода в проекте Silverlight
Щелкните правой кнопкой мыши проект ExampleSilverlightApp и выберите команду Добавить ссылку.
Добавьте ссылку в сборку System.ServiceModel.DomainServices.Client.
Чтобы найти сборку, перейдите на вкладку .NET.
В проекте ExampleSilverlightApp откройте файл MainPage.xaml.
В области элементов перетащите элемент управления DataGrid на элемент Grid.
Будут добавлены пространство имен XML и ссылки на сборки Data.
Задайте имя для DataGrid ProductsGrid , как показано в следующем XAML-коде.