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


Пошаговое руководство. Создание простой службы WCF в платформа .NET Framework Windows Forms

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

Примечание.

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

Необходимые компоненты

Средства WCF не установлены с рабочей нагрузкой .NET; используйте Visual Studio Installer для изменения установки. В установщике выберите Windows Communication Foundation в разделе "Отдельные компоненты". См. раздел Изменение Visual Studio.

Создание сервиса

  1. Откройте Visual Studio.

  2. На начальном экране выберите Создать проект.

  3. Введите библиотеку служб wcf в поле поиска на странице создания проекта . Выберите шаблон C# или Visual Basic для библиотеки служб WCF и нажмите кнопку "Далее".

    Создание проекта библиотеки служб WCF в Visual Studio

    Совет

    Если вы не видите шаблонов, может потребоваться установить компонент Windows Communication Foundation Visual Studio. Выберите " Установить дополнительные средства и компоненты ", чтобы открыть Visual Studio Installer. Перейдите на вкладку "Отдельные компоненты", прокрутите вниз до действий по разработке и выберите Windows Communication Foundation. Нажмите кнопку Изменить.

  4. На странице "Настройка нового проекта" нажмите кнопку "Создать".

    Примечание.

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

  5. В Обозреватель решений дважды щелкните IService1.vb или IService1.cs.

    Файл IService1

    Найдите следующую строку:

    [OperationContract]
    string GetData(int value);
    

Измените тип value параметра на строку:

[OperationContract]
string GetData(string value);

В приведенном выше коде обратите внимание на OperationContract атрибут. Этот атрибут необходим для любого метода, предоставляемого службой.

  1. В Обозреватель решений дважды щелкните Service1.vb или Service1.cs.

    Файл Service1

    Найдите следующую строку:

    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

Измените тип value параметра на строку:

public string GetData(string value)
{
    return string.Format("You entered: {0}", value);
}

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

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

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

    Метод GetData()

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

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

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

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

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

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

Ссылка на службу WCF

  1. В меню "Файл" выберите пункт "Добавить > новый проект". Выберите проект приложения Windows Forms (платформа .NET Framework).

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

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

    Снимок экрана: диалоговое окно

    Служба1 отображается на панели "Службы ".

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

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

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

  2. Откройте панель элементов, щелкнув панель элементов представления>(или CTRL+ALT+X на клавиатуре).

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

    Снимок экрана: добавление элементов управления в форму.

  4. Дважды щелкните 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;
    }
    
  5. В Обозреватель решений щелкните правой кнопкой мыши узел проекта (например, WindowsFormsApp1) и нажмите кнопку "Задать как проект запуска".

  6. Нажмите клавишу F5, чтобы запустить проект. Введите любой текст и нажмите кнопку. Метка отображает сообщение "Введено:" и отображает введенный текст.

    Снимок экрана: запущенная форма с результатом.