Visual studio как создать svc
В этом пошаговом руководстве вы создадите приложение WPF, содержащее элементы управления с привязкой к данным. Элементы управления привязаны к записям клиентов, инкапсулированным в WCF-службе данных. Вы также добавите кнопки, позволяющие клиентам просматривать и обновлять записи.
В этом пошаговом руководстве описаны следующие задачи:
Создание модели данных с использованием сущностей (EDM), сформированной из данных в учебной базе данных AdventureWorksLT.
Создание службы данных WCF, предоставляющей данные в EDM приложению WPF.
Создание набора элементов управления с привязкой к данным путем перетаскивания элементов из окна Источники данных в конструктор WPF.
Создание кнопок для перехода вперед и назад по записям клиентов.
Создание кнопки, сохраняющей изменения данных в элементах управления в службе данных WCF и базовом источнике данных.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в этой статье. Возможно, вы используете другой выпуск Visual Studio или другие параметры среды. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Для выполнения этого пошагового руководства требуются следующие компоненты:
Доступ к запущенному экземпляру SQL Server или SQL Server Express с подключенной учебной базой данных AdventureWorksLT. Сведения о скачивании базы данных см. в разделе образцы баз данных AdventureWorks .
Перед изучением приведенных ниже концепций будет полезно, хотя и не обязательно, ознакомиться со следующим пошаговым руководством.
Модели данных в Службы данных WCF.
Привязка данных WPF. Дополнительные сведения см. в разделе Общие сведения о привязке данных.
Создание проекта службы
В обозревателе решений щелкните правой кнопкой мыши Default.aspx и выберите пункт Удалить. Этот файл не является обязательным для этого пошагового руководства.
Создание EDM для службы
Чтобы предоставить данные приложению с помощью службы данных WCF, необходимо определить модель данных для службы. Служба данных WCF поддерживает два типа моделей данных: модели EDM и пользовательские модели данных, которые определяются с помощью объектов среды CLR, реализующих IQueryable интерфейс. В данном пошаговом руководстве вы создадите модель EDM для использования в качестве модели данных.
В меню Проект выберите Добавить новый элемент.
Измените имя на AdventureWorksModel.edmx и нажмите кнопку Добавить.
Открывается Мастер моделей EDM.
На странице Выбор содержимого модели щелкните Создать из базы данных и нажмите кнопку Далее.
На странице Выбор подключения к базе данных выберите один из следующих параметров:
Если подключение к учебной базе данных AdventureWorksLT доступно в раскрывающемся списке, то выберите его.
Щелкните Создать подключение и создайте подключение к базе данных AdventureWorksLT.
На странице Выбор подключения базы данных убедитесь, что выбран параметр Сохранить параметры соединения сущности в App.Config как, а затем нажмите кнопку Далее.
На странице Выбор объектов базы данных разверните узел Таблицы и выберите таблицу SalesOrderHeader.
Создание службы
Создание WCF-службы данных для предоставления данных в EDM приложению WPF:
В меню Проект выберите команду Добавить новый элемент.
В списке Установленные шаблоны щелкните Веб-сайт и выберите элемент проекта Служба данных WCF.
В поле имя введите AdventureWorksService.svc и нажмите кнопку добавить.
Visual Studio добавляет в AdventureWorksService.svc проект.
Настройка службы
Вам нужно настроить службу для использования созданной модели EDM:
В AdventureWorks.svc файле кода замените объявление класса адвентуреворкссервице следующим кодом.
Соберите проект и убедитесь в отсутствии ошибок.
Создание клиентского приложения WPF
Чтобы отобразить данные из службы данных WCF, создайте новое приложение WPF с источником данных, основанным на службе. Позднее в этом пошаговом руководстве вы добавите в приложение элементы управления с привязкой к данным.
В обозревателе решений щелкните правой кнопкой мыши узел решения, выберите команду Добавить и пункт Новый проект.
Выберите шаблон проекта Приложение WPF.
В поле Имя введите AdventureWorksSalesEditor , а затем нажмите кнопку ОК.
Visual Studio добавляет AdventureWorksSalesEditor проект в решение.
В меню Данные выберите команду Показать источники данных.
Открывается окно Источники данных.
В окне Источники данных выберите Добавить новый источник данных.
Открывается мастер настройки источника данных.
На странице Выбор типа источника данных мастера выберите Служба и нажмите кнопку Далее.
В диалоговом окне Добавление ссылки на службу выберите Найти.
Visual Studio выполняет поиск доступных служб в текущем решении и добавляет AdventureWorksService.svc их в список доступных служб в поле службы .
Введите AdventureWorksService в поле Пространство имен.
В поле Службы щелкните AdventureWorksService.svc и нажмите кнопку ОК.
Visual Studio скачивает сведения о службе и возвращается в Мастер настройки источника данных.
На странице Добавление ссылки на службу нажмите кнопку Готово.
Visual Studio добавляет узлы, которые представляют данные, возвращаемые службой в окно Источники данных.
Определение пользовательского интерфейса
Добавьте несколько кнопок в окно, изменив в XAML в конструкторе WPF. Позднее в рамках данного пошагового руководства вы добавите код, позволяющий пользователям просматривать и обновлять торговые записи с помощью этих кнопок.
В обозревателе решений дважды щелкните файл MainWindow.xaml.
Открывается окно в Конструкторе WPF.
В представлении XAML конструктора добавьте следующий код между тегами :
Выполните построение проекта.
Создание элементов управления с привязкой к данным
Создайте элементы управления, отображающие записи клиентов, перетащив SalesOrderHeaders узел из окна Источники данных в конструктор.
В окне Источники данных щелкните раскрывающееся меню для узла SalesOrderHeaders и выберите команду Сведения.
Разверните узел SalesOrderHeaders.
Для этого примера некоторые поля не отображаются, поэтому щелкните раскрывающееся меню рядом со следующими узлами и выберите Нет:
CreditCardApprovalCode
ModifiedDate
OnlineOrderFlag
RevisionNumber
rowguid
Это действие не позволяет Visual Studio создать элементы управления с привязкой к данным для этих узлов на следующем шаге. В этом пошаговом руководстве предполагается, что конечному пользователю не нужно видеть эти данные.
Из окна Источники данных перетащите узел SalesOrderHeaders на строку сетки под строкой с кнопками.
Visual Studio формирует XAML и код, который создает набор элементов управления, привязанных к данным в таблице Продукт. Дополнительные сведения о созданных XAML и коде см. в разделе Привязка элементов управления WPF к данным в Visual Studio.
Щелкните в конструкторе текстовое поле рядом с меткой Идентификатор клиента.
В окне Свойства установите флажок рядом со свойством IsReadOnly.
Установите свойство IsReadOnly для каждого из следующих текстовых полей:
Номер заказа на покупку
Код заказа на продажу
Число заказов на продажу
Загрузка данных из службы
Используйте объект прокси службы для загрузки данных о продажах из службы. Затем назначьте возвращенные данные источнику данных CollectionViewSource в окне WPF.
В конструкторе, чтобы создать Window_Loaded обработчик событий, дважды щелкните текст, который считывает: MainWindow.
Замените этот обработчик событий следующим кодом. Замените адрес localhost в этом коде на локальный адрес вашего компьютера разработчика.
Навигация по записям о продажах
Добавьте код, позволяющий пользователям прокручивать записи о продажах с помощью and > кнопок.
В конструкторе дважды щелкните кнопку на поверхности окна.
Visual Studio открывает файл кода программной части и создает обработчик событий backButton_Click для события Click.
Добавьте следующий код в созданный обработчик событий backButton_Click :
Вернитесь в конструктор и дважды щелкните кнопку > .
Visual Studio открывает файл кода программной части и создает обработчик событий nextButton_Click для события Click.
Добавьте следующий код в созданный обработчик событий nextButton_Click :
Сохранить изменения в записях о продажах
Добавьте код, позволяющий пользователям просматривать и сохранять изменения в торговых записях с помощью кнопки Сохранить изменения:
В конструкторе дважды щелкните кнопку Сохранить изменения.
Visual Studio открывает файл кода программной части и создает обработчик событий saveButton_Click для события Click.
Добавьте следующий код в обработчик событий saveButton_Click .
Тестирование приложения
Выполните сборку и запуск приложения, чтобы убедиться, что вы можете просмотреть и обновить записи клиентов:
В меню Сборка выберите пункт построить решение. Убедитесь, что сборка решения выполняется без ошибок.
Нажмите клавиши CTRL + F5.
Visual Studio запускает проект AdventureWorksService без его отладки.
В обозревателе решений щелкните правой кнопкой мыши проект AdventureWorksSalesEditor.
В контекстном меню окна Отладка щелкните запустить новый экземпляр.
Выполняется запуск приложения. Проверьте выполнение следующих условий.
Текстовые поля отображают разные поля данных из первой торговой записи, имеющей код заказа на продажу 71774.
Введите текст в поле Комментарий для одной из торговых записей, а затем нажмите кнопку Сохранить изменения.
Закройте приложение и снова запустите его из Visual Studio.
Перейдите к измененной торговой записи и убедитесь, что изменения сохранились после перезапуска приложения.
Дальнейшие действия
После прохождения пошагового руководства вы можете выполнить следующие задачи.
Узнайте, как использовать окно Источники данных в Visual Studio для привязки элементов управления WPF к другим типам источников данных. Дополнительные сведения см. в разделе Привязка элементов управления WPF к набору данных.
Узнайте, как использовать окно Источники данных в Visual Studio для отображения связанных данных (то есть данных в отношении "родитель — потомок") в элементах управления WPF. Дополнительные сведения см. в разделе Пошаговое руководство. Отображение связанных данных в приложении WPF.
публикация службы Windows Communication Foundation (WCF) помогает в выполнении из ранней среды разработки, предоставляемой узлом службы wcf и тестового клиента wcf, для фактического развертывания приложения в рабочей среде для тестирования. перед фиксацией в окончательном плане развертывания можно использовать публикацию службы Windows Communication Foundation (WCF), чтобы убедиться, что служба WCF работает правильно и готова к публикации. Можно также выбрать развертывание библиотек службы WCF в различных целевых расположениях для тестирования.
Поддерживаемые службы и целевые размещения
Публикация службы WCF поддерживает публикацию служб WCF, созданных из набора шаблонов библиотеки служб WCF, и соответствующие шаблоны элементов, в том числе следующие:
Шаблон библиотеки службы WCF с шаблоном элемента.
Библиотека служб синдикации.
Служба может быть опубликована в следующих целевых расположениях.
Локальный веб-сервер IIS.
Использование публикации служб WCF
Выполните следующие действия для развертывания реализации службы:
откройте Visual Studio с повышенными привилегиями (щелкните исполняемый файл правой кнопкой мыши и выберите запуск от имени администратора , чтобы открыть его). если вы используете IIS 7,0 или более поздней версии, убедитесь, что установлен компонент "включить или отключить компоненты Windows" на панели управления.
откройте проект службы, выберите сборка опубликовать Project имя > в главном меню или щелкните правой кнопкой мыши проект в > и выберите пункт опубликовать.
после нажатия кнопки опубликовать в главном окне Visual Studio развертывает приложение в указанном целевом расположении и копирует файлы Web.config, svc и сборки в целевой каталог. . Имя SVC будет "ProjectName. ServiceName. svc". после успешной публикации службы можно найти хотлинк в окне вывода Visual Studio, которое выглядит примерно так: "подключение к http://localhost/WebApplicationFolderName. ". Можно щелкнуть ссылку при нажатой клавише CTRL, чтобы открыть страницу браузера в Visual Studio для просмотра структуры каталогов службы.
Можно использовать публикацию , чтобы указать, нужно ли копировать сборку, конфигурацию и SVC для всех служб, определенных в проекте, в целевое расположение и перезаписать существующие файлы в месте назначения.
Файлы, созданные для опубликования
Прежде чем библиотека службы WCF может быть размещена в веб-среде, программа создает следующие файлы: файлы сборки, Web.config файл и SVC-файл. Все файлы копируются в целевое расположение. После этого выполняется публикация службы.
Файлы сборки
При публикации службы WCF с помощью этого средства сначала создается служба, а файлы сборки создаются в проекте службы после сборки.
Файл SVC
Операция публикации создает SVC-файл для каждой службы WCF (независимо от того, существует ли файл или нет), чтобы обеспечить правильность версий. Существует два типа SVC-файлов: один для библиотеки службы WCF и Библиотека службы синдикации, а другой — для последовательной и для поочередной библиотеки службы рабочего процесса конечного автомата. Созданный SVC-файл копируется в корневую папку в целевом расположении.
Файл Web.config
Файл Web.config создается каждый раз при публикации проекта службы в заданное целевое расположение.
Созданный файл Web.config содержит веб-разделы, которые полезны для размещения веб-узлов, и содержимое App.config для библиотеки службы WCF со следующими изменениями:
Базовый адрес клиента исключен.
Параметры в элементе исключены, чтобы сохранить параметры отслеживания целевой платформы.
Безопасность
Публикация в локальный сервер IIS требует наличия прав администратора, так как IIS требует выполнения под учетной записью администратора. Если пользователь без прав администратора открывает публикацию службы WCF, службы IIS недоступны в качестве целевого расположения. Публикация в файловой системе или FTP-сайт работает без прав администратора.
шаблоны Visual Studio Windows Communication Foundation (WCF) являются стандартными шаблонами проектов и элементов, которые можно использовать в Visual Studio для быстрого создания служб WCF и окружающих приложений.
Использование шаблонов WCF
Шаблоны WCF в Visual Studio предоставляют базовую структуру классов для разработки служб. В частности, эти шаблоны предоставляет основные определения для контракта службы, контракта данных, реализации службы и конфигурации. Эти шаблоны можно использовать для создания простой службы, которая потребует минимального программирования, и которая может служить как стандартный блок для более сложных служб.
Шаблон проекта библиотеки служб WCF
При создании нового проекта с помощью шаблона службы WCF новый проект автоматически включает следующие три файла:
файл контракта службы (IService1.cs или IService1.vb); Файл контракта службы — это интерфейс, к которому применены атрибуты службы WCF. Этот файл предоставляет определение простой службы, чтобы показать как определяются пользовательские службы, он включает параметризованные операции и простой образец контракта данных. Это файл по умолчанию, отображаемый в редакторе кода после создания проекта службы WCF.
Файл реализации службы (Service1.cs или Service1.vb). Файл реализации службы реализует контракт, определенный в файле контракта службы.
Visual Studio настроен на распознавание App.config файла в качестве файла конфигурации для проекта при его запуске с помощью узла службы WCF (WcfSvcHost.exe), который является конфигурацией по умолчанию. Если размещать библиотеку службы в исполняемом файле, то необходимо переместить код конфигурации в файл конфигурации исполняемого файла, так как файлы конфигурации для DLL-библиотек являются недопустимыми.
Шаблон веб-приложения службы WCF
При создании нового проекта с помощью шаблона службы веб-приложений WCF проект включает следующие четыре файла:
файл ведущего приложения службы (service1.svc);
файл контракта службы (IService1.cs или IService1.vb);
файл реализации службы (Service1.svc.cs или Service1.svc.vb);
файл веб-конфигурации (Web.config).
Шаблон автоматически создает веб-сайт (развертывается в виртуальном каталоге) и размещает в нем службу.
Шаблон веб-сайта WCF
Шаблон элемента службы WCF
шаблон сервисного элемента WCF — это пользовательский шаблон, предоставляющий быстрый способ добавления служб WCF в существующие проекты Visual Studio.
Чтобы использовать этот шаблон, перейдите в область Обозреватель решений , щелкните правой кнопкой мыши имя проекта, наведите указатель на пункт Добавитьи выберите новый элемент , чтобы открыть диалоговое окно Добавление нового элемента .
Интерфейс службы и файлы реализации размещаются в корневой папке проекта.
Шаблон попытается включить раздел конфигурации новой службы в существующий файл конфигурации, при условии что у них совместимые типы.
Если существующий проект является веб-проектом, то также создается файл узла службы (service1.svc).
Шаблон элемента и проект службы WF WCF.
Эти шаблоны создают службы WCF, в которых размещается служба рабочего процесса, которая является рабочим процессом, доступ к которому можно получить как к веб-службе. Для моделей императивного программирования и XAML существуют отдельные шаблоны. Используя эти шаблоны, можно создать последовательный рабочий процесс или рабочий процесс конечного автомата. Дополнительные сведения об этих типах рабочих процессов см. в разделе инструкции. Создание рабочего процесса. Дополнительные сведения о создании проектов рабочих процессов см. в разделе Создание устаревших проектов рабочих процессов.
Visual Studio конструктор более реагирует, когда используются рабочие процессы типа XOML, а не на основе кода. Рабочий процесс XOML - это создаваемый по умолчанию тип рабочего процесса.
Шаблон библиотеки служб синдикации WCF.
Этот шаблон позволяет предоставлять веб-канал в формате RSS или ATOM как службу WCF. Дополнительные сведения см. в разделе WCF синдикации.
Изменение адреса веб-канала
Шаблон синдикации при выполнении использует Internet Explorer. щелкнув правой кнопкой мыши проект в обозревателе решений в Visual Studio, выберите пункт свойства, а затем перейдите на вкладку отладка и просмотрите адрес по умолчанию шаблона. Internet Explorer пытается открыть веб-канал по этому адресу.
При изменении адреса веб-канала необходимо также изменить адрес на вкладке Отладка . Если этого не сделать, Internet Explorer пытается открыть веб-канал по адресу по умолчанию и завершается ошибкой.
Шаблон элемента службы WCF с поддержкой AJAX
Этот шаблон предоставляет элемент управления AJAX в качестве службы WCF. Дополнительные сведения об элементах управления AJAX см. в документации по элементу управления AJAX.
Шаблон элемента службы WCF с поддержкой Silverlight
Этот шаблон создает веб-службу, которая предоставляет данные клиенту Silverlight или внешнему интерфейсу. Шаблон можно добавить к веб-сайту или проекту веб-приложения, чтобы создать службу WCF, которая включает код службы и конфигурацию, поддерживающую взаимодействие с клиентом Silverlight. Затем можно использовать Добавление ссылки на службу , чтобы добавить клиентский прокси службы к клиенту и обмениваться данными между клиентом Silverlight и службой WCF с поддержкой Silverlight.
Чтобы получить доступ к этому шаблону, щелкните правой кнопкой мыши веб-сайт или проект веб-приложения в Обозреватель решений, щелкните Добавить новый элементи выберите пункт Служба WCF с поддержкой Silverlight.
Данная статья открывает курс уроков по технологии WCF и рассчитана в первую очередь на новичков в программировании веб-сервисов.
Оглавление
1. Содержание урока
2. Создание проекта сервиса
В работе используется Visual Studio 2013 Professional, версия фреймворка 4.5.1. Для заметки: за некоторыми небольшими исключениями, разницы между версиями 4.0. и 4.5.1 нет, но использование последней предпочтительней, т.к. добавляет полезную функцию генерации WSDL одним файлом, но об этом ниже.
Итак, запускаем студию и создаем проект типа WCF Service Application в соответствующем разделе, называем его SampleService.
После создания проекта рассмотрим структуру решения в обозревателе решений:
1. IService1.cs содержит описание интерфейса сервиса, т.е. набор методов, которые наш сервис предоставляет.
2. Service1.svc состоит из двух частей — реализация сервиса (Service1.svc.cs) и разметка (Markup), доступная в меню по клику правой кнопкой мыши.
3. Web.config — конфигурация сервиса.
4. Папка App_Data нам пока не нужна — удаляем.
Для начала переименуем сервис и его интерфейс, придав им имена Calculator и ICalculator соответственно, а также изменим строчку в разметке сервиса (файл Calculator.svc):
Теперь опишем сам интерфейс нашего калькулятора. Объявим стандартные арифметические операции, такие как сложение (Addition), вычитание (Subtraction), умножение (Multiplication) и деление (Division). Также добавим дополнительный метод TestConnection, возвращающий строку. С помощью этого метода клиенты смогут проверить, что сервис функционирует, т.к. стандартного «пинга» WCF не предоставляет. Все методы интерфейса должны быть помечены атрибутом [OperationContract], иначе они не будут видны клиентам.
В итоге, интерфейс примет следующий вид:
Теперь реализуем интерфейс в классе сервиса:
Логика сервиса описана, теперь необходимо его разместить на хостинге.
3. Размещение сервиса
Сам по себе сервис представляет библиотеку (в нашем случае файл SampleService.dll), и для ее запуска в виде сервиса необходимо воспользоваться одним из предоставляемых WCF методов:
- 1. Хостинг на IIS.
- 2. Запуск в виде службы Windows.
- 3. Self hosting (сервис выполнен в виде консольного приложения, запускающего сервис).
Принципиального различия в этих методах нет, поэтому выберем простейший вариант — размещение на IIS. Для этого откроем конфигурацию проекта и выберем вкладку «Web». Параметры по умолчанию вы можете наблюдать у себя, а вот так выглядят настройки для нашего сервиса:
Раздел Start Action определяет, что произойдет при запуске проекта в студии:
- Current Page (по умолчанию) – запуск последней открытой страницы в браузере. У нашего сервиса пока нет настроенных url-адресов методов, поэтому этот вариант не подходит.
- Specific Page – запуск конкретной страницы.
- Start External program – запуск указанного исполняемого файла, который инициирует сервис, например, вызовет метод, нуждающийся в отладке.
- Start URL – открытие указанного в поле URL адреса в браузере.
- Don't open a page – ничего не открывать, но ждать запроса от стороннего приложения.
Во всех случаях сервис «запускается» в режиме отладки и ведет себя как обычное приложение в студии, т.е. реагирует на контрольные точки. Последний вариант удобен тем, что ничего не открывается в браузере, т.к. отладка с помощью браузера — не лучший вариант для WCF сервиса, но об этом ниже.
Под спойлером указан один из вариантов набора компонентов для работы сервисов.
После создания пула, назначьте его вашему приложению (Default Web Site > Lesson1 > Дополнительные параметры > Пул приложений).
Теперь немного о WSDL. По сути это XML, содержащая описание сервиса, его методов и точек подключения. Чтобы сторонние интеграторы смогли подключиться к вашему сервису, им нужна ссылка на WSDL. WSDL может быть разбита на части (по умолчанию) или быть одним файлом (см. выше). Важно помнить, что не все клиенты (например, SoapClient на PHP) могут работать с WSDL, разбитой на части, поэтому наличие однофайловой WSDL приветствуется.
4. Публикация сервиса
Под публикацией сервиса подразумевается его компиляция для дальнейшего выкладывания сборки на сервер. Рассмотрим на конкретном примере, выложив сервер на демонстрационный сервер компании.
Для начала, необходимо создать профиль публикации, для этого кликнем правой кнопкой мыши на имени проекта и выберем пункт Publish.
Мастер предложит нам несколько вариантов публикации, выберем Custom, профиль назовем Demo.
Затем выберем метод публикации File System и укажем путь, куда будет сохраняться наша сборка:
Проект готов к публикации, но желательно еще перейти к следующей вкладке (Settings) и отметить галочку «Delete all existing files prior to publish» (удалять все файлы перед публикацией) и выбрать конфигурацию.
Выполняем публикацию и смотрим, что получилось в итоге:
Чтобы разместить сервис на вашем сайте, скопируйте папку на сервер и подключите к IIS как приложение, как если бы это был обычный сайт (Default Web Site > Add Application. )
5. Вызов сервиса
Создадим в нашем решении еще один проект типа Console Application и назовем его TestClient. Назначим его исполняемым и добавим ссылку на сервис:
В открывшемся окне введем адрес локальный сервиса, по желанию укажем имя пространства имен и дополнительные настройки. Здесь же можно посмотреть, какие методы предоставляет наш сервис:
После создания ссылки на сервис, в проекте появится папка «Service References», в которой будет находиться сгенерированный сутидей клиент. Его код при желании вы можете посмотреть самостоятельно, надо только включить отображение скрытых файлов или перейти по F12 внутрь кода клиента.
Теперь напишем код для подключения к сервису и вызов арифметических операций, предоставляемых им:
Результат исполнения:
Переходим к другому способу вызова сервиса.
SoapUI
Запускаем программу и создаем новый проект. В поле адреса сервиса указываем на WSDL и вводим название проекта:
Как видим, SoapUI извлек интерфейсы сервиса и создал тестовые запросы для каждого из методов:
Осталось заполнить числовые значения и вызвать сервис:
Запрос-ответ после изменения пространства имен:
С остальными возможностями SoapUI предлагаем ознакомиться самостоятельно.
WebInvoke
WebInvoke – это возможность вызова метода WCF-сервисов «по ссылке», например с помощью Ajax.
Для начала, изменим конфигурацию:
Одного изменения конфигурации недостаточно, требуется также описать маппинги для методов интерфейса ICalculator. Пример для метода Addition:
Если бы, допустим, у нас был метод, принимающий строки, можно было бы указать аргументы через слеш, например так:
Но у нас числа, поэтому прописываем по аналогии атрибут WebInvoke в прочим методам, в итоге получаем следующий код:
После компиляции сервиса мы получаем возможность вызывать методы через URL, не самую приятную на вид, но все же.
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
Please forgive the beginner question, but I have been going through the help and all the examples that come with the SDK and for the life of me I cannot find, or figure out, how to create an svc file for my WCF service.
I understand that they only need to be used when hosting the service in IIS which is what I am trying to do.
Any help is greatly appreciated.
Answers
In the mean time, an .svc file is really just a text file, and can be created by adding a new Text File item to your web site project. Just make sure the file has a .svc extension instead of .txt.
At a minimum, the .svc file will have a one-line declaration at the top that looks like this:
The value for Service is the CLR type name of the class that implements the service contract you want to host. Take a look at some of the SDK samples (for example, Basic\Service\Hosting\WebHost) to see how this works in context.
All replies
Thanks for the response Indigo Cowboy, but I must confess that I have never heard of the Visual Studio add-in for WCF. I have already installed the July CTP of the .NET Framework 3.0 and the associated SDK, and I do not see the "WinFX service" under "Add new item" and I also do not see add-in.
What am i missing or not looking?
In the mean time, an .svc file is really just a text file, and can be created by adding a new Text File item to your web site project. Just make sure the file has a .svc extension instead of .txt.
At a minimum, the .svc file will have a one-line declaration at the top that looks like this:
The value for Service is the CLR type name of the class that implements the service contract you want to host. Take a look at some of the SDK samples (for example, Basic\Service\Hosting\WebHost) to see how this works in context.
Steve, thank you so much for the response. I was going crazy there for a minute. Allow me to ask another, related, question if you don't mind.
I am still confused in one area, and that is the correct way to "begin" a WCF service. I have done some reading that says to begin by creating a new Class Library project and adding the WCF service code to that. However, in recent posts and reading (such as this one) it says "web site project".
So my question is this; what is the "preferred" way of staring a new WCF service project? To me, starting a new web site project doens't make sense because now I have an aspx page in the project. Did i misinterpret that to mean Web Service project? What does creating a new Class Library project, adding the components i need there, and then manually creating a new IIS virtual directory and copying the contents to that directory do for me(yes, i understand that this would be doing it the "long way" but i am just throwing things out there.)?
I have been pouring through the WCF documentation in the SDK and it seems to me that it makes certain assumptions that is throwing some off course, including me.
Читайте также: