Создание своего веб-сервиса (web service) в Visual Studio
Добрый день, читатели.
В сегодняшнем выпуске номера "Чайник в стране ИТ" я вам расскажу о том, как создавать свой веб-сервис и опубликовать его на сервере IIS. Для меня эта тема новая, а нормальной инструкции в интернете мне найти не удалось. Надеюсь, мой опыт будет полезен другим таким же чайникам, как и я.
Итак, что нужно иметь на машине:
1. Windows 7
2. IIS (входит в состав винды) версии 7.5
3. Visual Studio 2010
Итак начнем.
Подготовительные шаги:
0. Установить IIS и запустить службу (Служба веб-публикаций)
0. Вырубить Skype;
0. Установить компоненты Винды: Службы IIS - Службы Интернета - Компоненты разработки приложений
0. Зарегить ASP.NET: %windir%\Microsoft.NET\Framework\v4.0.31319\aspnet_regiis.exe -i (для DOT.NET версии 4.0)
Далее идем по одному из пути:
Способ 1:
1. В VS 2010 выбираем:
1.1. .NET Framework 3.5
1.2. Web -> ASP.NET Web Service Application
2. Кодить. Скомпилить.
3. Скопировать папку приложения в C:\inetpub\wwwroot. Удалить все файлы .config в этой папке;
4. Зайти в Панель управления\Все элементы панели управления\Администрирование\Диспетчер служб IIS. По появившейся папке в Default Web Site (WebService1) клацнуть "Преобразовать в приложение". Выбрать пул с FrameWork из шага 1.1. (Если такого пула нет, то создать его самостоятельно)
5. В браузере ввести http://localhost/WebService1/Service1.asmx
Способ 2:
1. В VS 2010 выбираем:
1.1. Версию любимого Framework
1.2. Web -> ASP.NET Empty Web Application
1.3. Project -> Add New Item -> Web Service
2. Кодить. Скомпилить.
3. Правой кнопкой по сборке (WebApplication1) -> Publish -> Publish method: File System; Target Location: Путь на диске (например, C:\inetpub\wwwroot\WebService1) -> Publish
4. Зайти в Панель управления\Все элементы панели управления\Администрирование\Диспетчер служб IIS. По появившейся папке в Default Web Site (WebService1) клацнуть "Преобразовать в приложение". Выбрать пул с FrameWork из шага 1.1. (Если такого пула нет, то создать его самостоятельно)
5. В браузере ввести http://localhost/WebService1/WebService1.asmx
Примечание к п.4: Наверное, более правильно создать свой сайт. Это делается в "Диспетчер служб IIS": сайты -> Добавить веб-сайт -> выбрать путь из п.3, порт, имя, а также пул приложений соответствующий FrameWork из п. 1.1.
Ну вот вроде и все.
Спасибо Жене Генову за способ №2.
Все очень классно и доступно описано. От себя добавлю, что очень часто для отладки и проверки вебсервисов нет необходимости их полностью выгружать на сайт. Проще запустить их с помощью WebDev.WebServer.