- •1.Темы курсовых работ
- •2.Постановка задачи для Web - сервиса для организации встреч с использованием календаря встреч
- •3.Архитектура для создания Web - сервиса для организации встреч с использованием календаря встреч
- •4.Виртуализация
- •4.1 Создание виртуальных машин
- •4.2 Настройка сети передачи данных
- •4.3 Настройка iis
- •5.Создание баз данных
- •6.Программная реализация web - сервиса для организации встреч с использованием календаря встреч.
- •7. Клиентская часть web – сервиса для организации встреч с использованием календаря встреч
- •8.Список Литературы
- •Приложение а. Исходный код web - сервиса.
- •Приложение б. Исходный код клиентской части
- •Приложение в. Soap и http post документация
- •Приложение г. Wsdl - документ
7. Клиентская часть web – сервиса для организации встреч с использованием календаря встреч
Необходимо добавить форму Web Form. Для этого в обозревателе решений нужно правой кнопкой мыши нажать на адрес нашего веб – сайта, выбрать пункт «Добавить» и нажать на «Форма Web Form».
Рис.35
Откроется конструктор и исходный код страницы. Нам нужно добавить:
Элемент DropDownList, где будет находится список месяцев, из которого клиент может выбрать для какого месяца он хочет увидеть свободные даты.
Элемент Button, с помощью которой клиент будет инициализировать запрос.
Две таблицы GridView для вывода списков свободных дат.
Чтобы обеспечить запрос списка месяцев на этапе загрузки страницы, необходимо написать обработчик события Page_Load в файле default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Service WebC = new Service();
List<string> list = WebC.GetMonth();
DDL1.DataSource = list;
DDL1.DataBind();
}
}
Таким образом на этапе загрузки страницы осуществляется вызов веб -метода GetMonth. Полученный от web – сервиса список передаётся в элемент DropDownList для взаимодействия пользователя со списком месяцев.
Далее нужно написать обработчик события B1_Click:
protected void B1_Click(object sender, EventArgs e)
{
string sel = DDL1.Text;
Service WebC = new Service();
GW1.DataSource = WebC.GetDate(sel);
GW1.DataBind();
GW2.DataSource = WebC.GetDate1(sel);
GW2.DataBind();
}
При нажатии на кнопку осуществляется вызов веб - методов GetDate и GetDate1 с параметром выбранного месяца в элементе DropDownList, а также вывод полученных таблиц в GridView на странице.
Полный код клиентской части см. приложение Б.
Теперь проверим работоспособность web - сервиса в целом.
Рис.36
Рис.37
8.Список Литературы
В.Олифер, Н.Олифер «Компьютерные сети. Принципы, технологии, протоколы»
Э.Таненбаум, М.ван Стеен «Распределённые системы. Принципы и парадигмы»
MSDN – библиотека официальной технической документации для разработчиков под ОС Microsoft Windows. [Электронный ресурс] – Режим доступа: https://docs.microsoft.com, свободный
Приложение а. Исходный код web - сервиса.
Код Service.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Чтобы разрешить вызывать веб-службу из скрипта с помощью ASP.NET AJAX, раскомментируйте следующую строку.
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
SqlConnection con1 = new SqlConnection("Data Source=ANGRY\\SQLEXPRESS;Initial Catalog=X;Persist Security Info=True;User ID=sa;Password=1701dmg");
SqlConnection con2 = new SqlConnection("Data Source=ANGRY\\SQLEXPRESS;Initial Catalog=Y;Persist Security Info=True;User ID=sa;Password=1701dmg");
public Service()
{
//Раскомментируйте следующую строку в случае использования сконструированных компонентов
//InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return "Привет всем!";
}
[WebMethod]
public List<string> GetMonth()
{
SqlDataAdapter da = new SqlDataAdapter("gm", con1);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
da.Fill(dt);
List<string> list = dt.AsEnumerable().Select(r => r.Field<string>("Month")).ToList();
return list;
}
[WebMethod]
public DataSet GetDate(string month)
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("gt", con1);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add(new SqlParameter("@Month", SqlDbType.NVarChar, 10)).Value = month;
da.Fill(ds);
return ds;
}
[WebMethod]
public DataSet GetDate1(string month)
{
DataSet ds = new DataSet();
SqlDataAdapter sd = new SqlDataAdapter("gt", con2);
sd.SelectCommand.CommandType = CommandType.StoredProcedure;
sd.SelectCommand.Parameters.Add(new SqlParameter("@Month", SqlDbType.NVarChar, 10)).Value = month;
sd.Fill(ds);
return ds;
}
}
