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


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

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

Примечание.

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

Предпосылки

Visual Studio с установленным компонентом Windows Communication Foundation . Чтобы установить его, выполните приведенные далее действия.

  1. Откройте приложение Установщик Visual Studio или выберите Инструменты>Получить средства и компоненты в меню Visual Studio.
  2. В Visual Studio Installer выберите "Изменить " рядом с версией Visual Studio, которую вы хотите изменить.
  3. Перейдите на вкладку "Отдельные компоненты" и выберите Windows Communication Foundation в разделе "Действия по разработке".
  4. Нажмите кнопку Изменить.

Дополнительные сведения см. в разделе "Изменение рабочих нагрузок, компонентов и языковых пакетов Visual Studio".

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

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

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

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

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

    Подсказка

    Если вы не видите шаблонов, может потребоваться установить компонент Windows Communication Foundation Visual Studio. Дополнительные сведения см. в разделе "Предварительные требования"

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

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

  4. В обозревателе решений дважды щелкните IService1.cs или IService1.vb в проекте библиотеки служб WCF в зависимости от типа созданного проекта.

    Снимок экрана: файл IService1 в обозревателе решений.

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

    [OperationContract]
    string GetData(int value);
    

  1. Измените тип для параметра value на строку.

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

    [OperationContract]
    string GetData(string value);
    

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

    Снимок экрана: файл Service1 в обозревателе решений.

  2. В редакторе найдите следующую строку:

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

  1. Измените тип value параметра на строку следующим образом:

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

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

Чтобы проверить созданную службу WCF, выполните следующие действия.

  1. Нажмите клавишу F5 , чтобы запустить службу.

    Появляется форма тестового клиента WCF, и загружается служба.

  2. В разделе IService1 дважды щелкните метод GetData().

    Вкладка GetData отображается в форме тестового клиента WCF .

    Снимок экрана: метод GetData в форме тестового клиента WCF.

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

    Снимок экрана: поле

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

    Результат отображается в поле ответа .

    Снимок экрана: результат, отображаемый в поле ответа на вкладке GetData.

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

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

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

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

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

  1. Выберите Файл>Добавить>Новый проект.

  2. В окне Добавить новый проект, выберите проект Windows Forms App на C# или Visual Basic (.NET Framework). Нажмите кнопку "Далее", а затем создайте проект.

  3. В обозревателе решений щелкните правой кнопкой мыши узел проекта нового проекта и выберите "Добавить>ссылку на службу".

    Откроется диалоговое окно "Добавить ссылку на службу ".

  4. Выберите "Обнаружить".

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

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

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

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

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

  1. В обозревателе решений дважды щелкните Form1.cs или Form1.vb в приложении Windows Forms.

    Форма откроется в конструкторе 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 , чтобы запустить проект. Введите текст и нажмите кнопку. Метка отображает Вы ввели:, за которым следует ваш текст.

    Снимок экрана: результат, отображаемый в форме запущенного клиентского приложения.