Silverlight 3: Отображение данных SQL Server - Обновление файла Web.config

ОГЛАВЛЕНИЕ

Обновление файла Web.config

Добавленная служба WCF использует файл Web.config для доступа к конфигурационным данным. Конфигурационные данные, которые ей надо извлечь, включают в себя адрес, привязку и контракт, находящиеся в теге <endpoint>.

Найдите файл “Web.config” в проводнике решения и дважды щелкните по нему, чтобы открыть. Открыв его, прокрутите донизу и найдите раздел <services>. Так выглядит раздел службы из файла web.config:

<service behaviorConfiguration=
    "AdventureWorks_WebServer.Service1Behavior"
    name="AdventureWorks_WebServer.Service1">
   
    <endpoint address="" binding="customBinding"
        bindingConfiguration="customBinding0"
        contract="AdventureWorks_WebServer.Service1" />
   
    <endpoint address="mex"
        binding="mexHttpBinding"
        contract="IMetadataExchange" />
   
</service>

Есть два тега endpoint: верхний, содержащий address=””, и нижний, содержащий address=”mex”. Надо обратить внимание на верхний с address=”” следующим образом:

<endpoint address="" binding="customBinding" 
    bindingConfiguration="customBinding0"
    contract="AdventureWorks_WebServer.Service1" />

Чтобы успешно общаться с клиентским приложением Silverlight, надо изменить привязку на “basicHttpBinding” и удалить bindingConfiguration, как указано ниже:

<endpoint address="" binding="basicHttpBinding" 
    contract="AdventureWorks_WebServer.Service1" />

Произведя эти изменения, сохраните проект (Меню Файл | Сохранить все), затем закройте файл web.config.

Теперь подключение установлено, добавлен класс LINQ для SQL, создан класс ContactRecord, запрограммирована служба WCF, и обновлен файл web.config… Пора начать работать с интерфейсом клиента Silverlight.

Добавление ссылки на службу в клиент Silverlight

Начинается работа с самим Silverlight 3.

Откройте проводник решения и перейдите к клиентскому приложению Silverlight AdventureWorks, как показано тут:

Сначала надо добавить ссылку на созданную ранее службу WCF. Это позволит клиентскому приложению Silverlight общаться с ранее созданной службой WCF. Чтобы сделать это, щелкните правой кнопкой мыши по узлу проекта AdventureWorks, потом выберите “Добавить ссылку на службу…”, следующим образом:

При нажатии на пункт меню откроется окно “Добавить ссылку на службу“. После этого проделайте следующие шаги:
•    Нажмите кнопку “Найти“, чтобы найти адрес службы.
•    В древовидном меню Службы увидите появившуюся в списке службу.
•    Разверните узел “Service1.svc”.
•    Разверните узел “Service1”.
•    Щелкните по конечному дочернему узлу “Service1”.
•    Метод “GetContacts” отобразится в списке Операции справа.

Окно выглядит так:

Если после нажатия кнопки “Найти“ служба Service1.svc не появилась в списке, вернитесь к файлу web.config и убедитесь, что он сконфигурирован правильно, как показано выше. Обязательно удалите все лишние пробелы между атрибутами address, binding и contract и их значениями.

Далее нажмите кнопку “Дополнительно…“, чтобы отобразилось окно “Настройки ссылки на службу“. В нем надо изменить тип коллекции на System.Collections.Generic.List следующим образом:

После изменения типа коллекции нажмите кнопку OK, чтобы закрыть окно “Настройки ссылки на службу“, затем снова нажмите OK, чтобы закрыть окно “Добавить ссылку на службу“.

Теперь добавленная новая ссылка на службу появится в проводнике решения:

 

Ссылка на службу будет использована позже.