Построение образцов Windows Communication Foundation

Построение образцов Windows Communication Foundation (WCF) можно выполнять с помощью Visual Studio 2010 или из командной строки с помощью команды msbuild. В этом разделе описаны обе эти процедуры.

ms751423.note(ru-ru,VS.100).gifПримечание
Перед построением или выполнением любого из образцов WCF убедитесь, что выполнены указания раздела Процедура однократной настройки образцов Windows Communication Foundation.

Построение образца с помощью командной строки

  1. Откройте командную строку Visual Studio 2010 с правами администратора и перейдите в подкаталог языка в каталоге установки образца.

  2. В командной строке введите msbuild. Файлы построения клиентской программы сохраняются в папке client\bin, а файлы построения служебной программы — в папке service\bin. Если служба размещена в службах IIS, то файлы служебной программы также копируются в каталог servicemodelsamples и его подкаталог \bin.

ms751423.note(ru-ru,VS.100).gifПримечание
Необходимо задать списки управления доступом для каталога %systemdrive%\inetpub\wwwroot, чтобы предоставить разрешения на изменение учетной записи, от имени которой выполняются операции. В противном случае некоторые события построения могут завершиться сбоем. Либо можно оставить списки управления доступом неизменными и запускать командную строку пакета SDK от имени администратора.

Построение образца с помощью Visual Studio

  1. Если используется Windows Vista или Windows Server 2008, Windows 7, Windows Server 2008 R2 или Visual Studio 2010, то необходимо запускать Visual Studio с повышенными разрешениями. Для этого щелкните правой кнопкой мыши значок в меню "Пуск" и выберите команду Запуск от имени администратора.

  2. В меню Файл в Visual Studio выберите команду Открыть и выберите вариант Проект/Решение. Перейдите к языковому подкаталогу каталога, в котором установлен образец, и дважды щелкните значок файла SLN, чтобы открыть решение в Visual Studio.

  3. В меню Построение выберите команду Перестроить решение. Файлы построения клиентской программы сохраняются в папке client\bin, а файлы построения служебной программы — в папке service\bin. Если служба размещена в службах IIS, файлы служебной программы также копируются в каталог servicemodelsamples и его подкаталог \bin.

ms751423.note(ru-ru,VS.100).gifПримечание
Необходимо задать списки управления доступом для каталога %systemdrive%\inetpub\wwwroot, чтобы предоставить разрешения на изменение учетной записи, от имени которой выполняются операции. В противном случае некоторые события построения могут завершиться сбоем. Либо можно оставить списки управления доступом неизменными и запускать командную строку SDK или Visual Studio от имени администратора. Некоторые операции Visual Studio (например, прикрепление отладчика к рабочему процессу ASP.Net) также требуют прав администратора.

Пакетные файлы и скрипты установки

Пакетные файлы и скрипты Setup.exe и Cleanup.exe должны запускаться из командной строки Visual Studio. Некоторые файлы установки и очистки выполняют задачи, требующие прав администратора, и должны запускаться с этими правами.

Важные сведения по безопасности конечных точек метаданных

Чтобы предотвратить непреднамеренное разглашение потенциально важных метаданных службы, в конфигурации служб Windows Communication Foundation (WCF) публикация метаданных по умолчанию отключена. Такое поведение по умолчанию безопасно, но также оно означает, что использовать средства импорта метаданных (например, Svcutil.exe) для создания кода клиента, необходимого для вызова службы, невозможно, если поведение публикации не включено явно в конфигурации. Чтобы испытывать образец было проще, почти все образцы предоставляют незащищенную конечную точку публикации метаданных. Такие конечные точки являются потенциально доступными для анонимных не прошедших проверку подлинности потребителей, поэтому перед развертыванием таких конечных точек следует соблюдать осторожность и убедиться, что публичное раскрытие метаданных службы уместно. Дополнительные сведения публикации метаданных службы см. в образце Поведение публикации метаданных. См. образец Пользовательская конечная точка защищенных метаданных в качестве образца, который защищает конечную точку метаданных.

Обработка исключений

В большинстве случаев, чтобы не усложнять код, в эти образцы не была включена обработка исключений. Дополнительные сведения б обработке исключений см. в образце Ожидаемые исключения.

Восстановление клиентов и конфигурации с помощью средства Svcutil

С помощью средства Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe) можно восстанавливать код и конфигурацию клиента для большинства образцов. Некоторые образцах требуют редактирования конфигурации вручную. Например, если средство Svcutil.exe используется для восстановления конфигурации образца, использующего учетные данные сертификата клиента, необходимо вручную указать ранее заданные учетные данные. В некоторых образцах используются особые параметры средства Svcutil.exe, влияющие на создаваемый код; эти параметры описаны в соответствующих разделах образце.

Восстановление клиента и файлов конфигурации

  1. Откройте окно командной строки SDK и перейдите к языковому подкаталогу в каталоге, где установлен образец.

  2. Если служба размещается на веб-сервере, воспользуйтесь следующей командой.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    Если служба размещается резидентно, воспользуйтесь следующей командой.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    Замените адрес https://localhost:8000/ServiceModelSamples/service.svc/mex на адрес конечной точки mex размещенной резидентно службы.

    Чтобы создать клиент на языке Visual Basic, воспользуйтесь следующей командой.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    Если служба размещается резидентно, воспользуйтесь следующей командой.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    
    ms751423.note(ru-ru,VS.100).gifПримечание
    Чтобы пропустить создание конфигурации клиента, добавьте параметр /noConfig.

См. также

Основные понятия

Running the Windows Communication Foundation Samples
Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe)