Walkthrough: Creating and Accessing WCF Services

 

Опубликовано: Апрель 2016

В этом пошаговом руководстве демонстрируется создание простой службы Windows Communication Foundation (WCF), ее тестирование и последующий доступ к ней из приложения Windows Forms.

Примечание

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Создание службы

Создание простой службы WCF

  1. В меню Файл выберите пункт Создать, а затем команду Проект.

  2. В диалоговом окне Новый проект разверните узел Visual Basic или Visual C# и щелкните WCF и Библиотека службы WCF. Нажмите кнопку ОК, чтобы создать проект.

    Проект библиотеки служб WCF

    Примечание

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

  3. Файл IService1

    В Обозревателе решений дважды щелкните файл IService1.vb или IService1.cs и найдите следующую строку:

            [OperationContract]
            string GetData(int value);
    
        <OperationContract()>
        Function GetData(ByVal value As Integer) As String
    

    Измените тип параметра value на String:

            [OperationContract]
            string GetData(string value);
    
        <OperationContract()>
        Function GetData(ByVal value As String) As String
    

    В приведенном выше коде обратите внимание на атрибуты <OperationContract()> или [OperationContract] . Эти атрибуты обязательны для любого метода, предоставляемого службой.

  4. Файл Service1

    В Обозревателе решений дважды щелкните файл Service1.vb или Service1.cs и найдите следующую строку:

            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
    
        Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData
            Return String.Format("You entered: {0}", value)
        End Function
    

    Измените тип параметра значения на String:

            public string GetData(string value)
            {
                return string.Format("You entered: {0}", value);
            }
    
        Public Function GetData(ByVal value As String) As String Implements IService1.GetData
            Return String.Format("You entered: {0}", value)
        End Function
    

Тестирование службы

Создание простой службы WCF

  1. Нажмите клавишу F5, чтобы запустить службу. Будет показана форма Тестовый клиент WCF, которая загрузит службу.

  2. В форме Тестовый клиент WCF дважды щелкните метод GetData() в разделе IService1. Будет открыта вкладка GetData.

    Метод GetData()

  3. В диалоговом окне Запрос выберите поле Значение и введите Hello.

    Поле значения

  4. Нажмите кнопку Вызвать. Если отображается диалоговое окно Предупреждение системы безопасности, нажмите кнопку ОК. Результаты будут отображены в окне Ответ.

    Результат в поле "Ответ"

  5. В меню Файл щелкните Выход, чтобы закрыть тестовую форму.

Доступ к службе

Обращение к службе WCF

  1. В меню Файл выберите команду Добавить , а затем Создать проект.

  2. В диалоговом окне Создать проект разверните узел Visual Basic или Visual C#, выберите узел Windows и выберите элемент Приложение Windows Forms. Нажмите кнопку ОК, чтобы создать проект.

    Проект приложения Windows Forms

  3. Щелкните правой кнопкой мыши WindowsApplication1 и выберите команду Добавить ссылку на службу. Откроется диалоговое окно Добавление ссылки на службу.

  4. В диалоговом окне Добавление ссылки на службу щелкните элемент Найти.

    Добавить ссылку на службу - диалоговое окно

    Service1 будет отображаться в области Службы .

  5. Нажмите кнопку ОК, чтобы добавить ссылку на службу.

Создание клиентского приложения

  1. В Обозревателе решений дважды щелкните Form1.vb или Form1.cs, чтобы открыть конструктор Windows Forms, если он еще не открыт.

  2. Из Панели элементов перетащите на форму элемент управления TextBox, элемент управления Label и элемент управления Button.

    Добавление элементов управления на форму

  3. Дважды щелкните Button и добавьте следующий код в обработчик событий Click:

            private void button1_Click(System.Object sender, System.EventArgs e)
            {
                ServiceReference1.Service1Client client = new
                    ServiceReference1.Service1Client();
                string returnString;
    
                returnString = client.GetData(textBox1.Text);
                label1.Text = returnString;
            }
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles Button1.Click
            Dim client As New ServiceReference1.Service1Client
            Dim returnString As String
    
            returnString = client.GetData(TextBox1.Text)
            Label1.Text = returnString
        End Sub
    
  4. В Обозревателе решений щелкните правой кнопкой мыши WindowsApplication1 и выберите команду Назначить запускаемым проектом.

  5. Нажмите клавишу F5, чтобы запустить проект. Введите любой текст и нажмите кнопку. Будет отображена надпись «Введено:» с введенным ранее текстом.

    Форма с результатом

См. также

Пример использования служб ASMX и WCF