Построение примеров Windows Communication Foundation

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

Примечание.

Прежде чем создавать или запускать любой из примеров WCF, убедитесь, что вы выполнили процедуру однократной установки для примеров Windows Communication Foundation.

Сборка образца с использованием командной строки

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

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

Примечание.

Чтобы предоставить разрешения на изменение учетной записи, в которой выполняется работа, необходимо задать списки управления доступом на %systemdrive%\inetpub\wwwroot . В противном случае некоторые события построения могут завершиться сбоем. Либо можно оставить списки управления доступом неизменными и запускать командную строку пакета SDK от имени администратора.

Сборка образца с использованием Visual Studio

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

  2. В меню "Сборка " выберите " Перестроить решение".

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Примечание.

    Чтобы пропустить создание конфигурации клиента, добавьте параметр /noConfig .

См. также