Создание приложения Silverlight :



 

Запускаем Visual Studio 2010, откроется Начальная страница:

 

Для начала, надо создать проект, для этого выполним последовательно: Файл -> Создать -> Проект… (также можно просто нажать сочетание клавиш Ctrl + Shift + N или пункт «Создать проект…» на Начальной странице):

 

Рис. 2. 1. Создание нового проекта

 

Выберем слева в пункте Установленные шаблоны язык Visual C #, далее найдём в списке Приложение Silverlight. Также здесь можно выбрать какой использовать «фреймворк» (набора компонентов для написания программ). В нашем случае выберем .NET Framework 4.

 

Рис. 2. 2. Окно создания нового проекта

 

В поле Имя вводим LWP 17 Silverlight — это название программы (выбрано по названию лабораторного практикума, номеру и названию работы). В поле Расположение указана конечная директория, где будет находиться весь проект. Выберем расположение удобное для быстрого поиска. В поле Имя решения вводится либо название программы «по умолчанию» из поля Имя автоматически, либо можно ввести своё собственное. Под этим именем будет создана конечная папка проекта (если Имя и Имя решения разные).

 

Рис. 2. 3. Вводим данные нового проекта приложения Silverlight

 

После нажатия клавиши ОК. Откроется ещё одно окно, в котором будет предложено:

 

Рис. 2. 4. Создать приложение Silverlight: выбор настроек

 

Ввести имя нового веб-проекта на основе приложения (Имя нового веб-проекта оставляем без изменений: LWP 17 Silverlight . Web), указать версию Silverlight (в нашем случае «четвёрка»), а также Включить службы RIA WCF 1 (не ставим галочку).

 

ПРИМЕЧАНИЕ № 1: Включение в проект Службы RIA WCF упрощает разработку многоуровневых решений класса RIA (полнофункциональных интернет-приложений), таких как приложения Silverlight. Типичной проблемой при разработке многоуровневого решения RIA является согласование логики среднего уровня и уровня представления. Чтобы обеспечить максимальное взаимодействие с пользователем, клиент «Службы RIA» должен учитывать логику приложения, которое находится на сервере. Однако было бы нежелательным разрабатывать и поддерживать логику приложения, как на уровне представления, так и на среднем уровне. «Службы RIA» решает эту проблему, поскольку в составе платформы имеются компоненты, инструменты и службы, обеспечивающие доступ клиента «Службы RIA» к логике приложения на сервере без необходимости вручную дублировать эту программную логику. Можно создать клиент «Службы RIA», учитывающий бизнес-правила, и при каждой компиляции решения эта логика будет автоматически обновляться на клиенте.

На рисунке ниже показана упрощённая версия многоуровневого приложения. «Службы RIA» посвящён в основном решению задач в прямоугольнике между уровнем представления и уровнем доступа к данным (DAL) и позволяет упростить разработку многоуровневого решения с клиентом «Службы RIA»:

 

Рис. 2. 5. Пример упрощённой структуры многоуровневого приложения

 

«Службы RIA» добавляет в среду Visual Studio 2010 инструменты (в частности Ссылки), которые позволяют связать клиентский и серверный проекты в единое решение и формировать код для клиентского проекта из кода среднего уровня. Компоненты платформы поддерживают предписывающие шаблоны при написании логики приложения, что позволяет повторно использовать ее на уровне представления. Доступны также такие службы для типовых сценариев, как проверка подлинности и управление параметрами пользователя, что позволяет сократить время разработки.

В «Службы RIA» можно предоставлять данные из серверного проекта клиентскому проекту путем добавления служб домена. Платформа «Службы RIA» реализует каждую службу домена в виде службы Windows Communication Foundation (WCF).

 

Текст примечания выше является выдержкой из статьи Службы WCF RIA (http :// msdn . microsoft . com / ru - ru / library / ee 707344( v = vs .91). aspx).

 

После нажатия кнопки ОК (рисунок 2. 4), среда разработки сформирует два (а не один как раньше) проекта в одном решении, каждый со своим исходных кодом и дополнительными файлами.

 

Рис. 2. 6. Обозреватель решений: состав проектов приложения Silverlight сформированного средой разработки

 

Теперь, можно откомпилировать созданную программу, нажав клавишу F 5 (Отладка -> Начать отладку или нажав на иконку . Тем самым мы запускаем приложение в режиме отладки (и производим компиляцию debug-версии программы) (Debug выбрано изначально). Перед компиляцией обратим вниманием на директорию ClientBin веб-проекта. Директория пока что пуста.

 

Рис. 2. 7. Запуск приложения Silvelight по конфигурации Debug

 

Как видим, проект пока что пуст. Единственное что можно сделать, это вызвать окно конфигурации Silverlight:

 

Обратим также внимание на имя страницы в окне браузера и на соответствующие имена в обозревателе решений веб-проекта. Обе страницы (LWP 17 SilverlightTestPage . aspx и LWP 17 SilverlightTestPage . html) идентичны и подцепляют «яваскрипт»-код Silvelight . js и главную страницу первого проекта в составе решения (WPF-приложения). Код обеих веб-страниц автоматически редактируется после каждой компиляции. Привязка объекта WPF-приложения к страницах осуществляется следующим образом (автоматически, через обычный HTML -код):

 

<form id="form1" runat="server" style="height:100%">

<div id="silverlightControlHost">

   <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" height="100%">

        <param name="source" value="ClientBin/LWP17Silverlight.xap"/>

        <param name="onError" value="onSilverlightError" />

        <param name="background" value="white" />

        <param name="minRuntimeVersion" value="4.0.50826.0" />

        <param name="autoUpgrade" value="true" />

        <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">

               <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Получить Microsoft Silverlight" style="border-style:none"/>

        </a>

  </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>

</form>

 

Ключевая строчка запускаемого объекта выглядит так:

 

        <param name="source" value="ClientBin/LWP17Silverlight.xap"/>

 

Сам объект, на которые ссылается код, генерируется после первой компиляции и помещается в директорию ClientBin:

 

В случае, если бы в окне на рисунке 2. 4. сняли галочку с пункта: Разместить приложение Silverlight на новом веб-сайте, веб-проект бы не создавался, и отладка и запуск производилась бы на динамически-создаваемых веб-страницах в директории LWP 17 Silverlight \ Bin \ Debug или LWP 17 Silverlight \ Bin \ Release (LWP 17 SilverlightTestPage . html).

 

В любом случае, для отладки и запуска среда разработки запускает ASP . NET Development Server и «бросает» исполняемые страницы на локальный адрес и порт (например, в нашем случае http :// localhost :53510). Получить доступ к окну сведений можно через иконку в «трее» панели «Пуск» (кнопка «Подробные сведения»). Окно сведений выглядит так:

 

Рис. 2. 8. Запуск приложения Silverlight по конфигурации Debug: просмотр сведений о сервере и локальном адресе страницы

 

Почему же понадобилось создавать новый веб-проект? Об этом будет упомянуто немного позже.

 


Дата добавления: 2019-09-13; просмотров: 167; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!