Поделиться через


Пошаговое руководство. Создание служб WCF и доступ к таким службам

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

Примечание

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

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

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

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

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

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

    Примечание

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

  3. Файл IService1

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

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

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

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

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

  4. Файл Service1

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

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

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

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

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

Создание простой службы 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 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
    
    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;
    }
    
  4. В Обозревателе решений щелкните правой кнопкой мыши WindowsApplication1 и выберите команду Назначить запускаемым проектом.

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

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

См. также

Другие ресурсы

Consuming ASMX and WCF Services Sample