Приклад 1. Застосування шаблону Web-сервісу.

Для створення веб-сервісу можна скористатися шаблоном. Для цього обрати пункт меню File-New WebSite – ASP.NET Web Setvice (рис. 5.1).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.1. Додавання нового елемента до веб-додатку

При цьому автоматично створюється файл із розширенням і програмним кодом веб-сервісу з одним методом:

using System;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.Xml.Linq;

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService]

public class Service : System.Web.Services.WebService

{

public Service () {

//Uncomment the following line if using designed components

//InitializeComponent();

}

[WebMethod]

public string HelloWorld() {

return "Hello World";

}

}

Запустивши файл на виконання отримаємо екрану форму наступного вмісту (рис. 5.2).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.2. Вигляд створеного веб-сервісу в браузері

Натиснувши HelloWorld можна в браузері переглянути інформацію стосовно метода, який створився автоматично (рис. 5.3).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.3.

Користь такого веб-сервісу досить сумнівна, тому розглянемо наступні біль корисні веб-сервіси та способи їх використання з додатку.

Приклад 2. Створення Web-сервісу «Калькулятор».Створіть Web-службу ASP.NET на основі шаблона ASP.NET Web Servіce. Реалізуйте в цій службі чотири методи, кожний з яких приймає два цілочисельних параметри:

1) метод Add(). виконує додавання;

2) метод Subtract(), що виконує віднімання;

3) метод Multіply(), що виконує множення;

4) метод Dіvіde(), що виконує ділення.

Для цього в коді веб-сервісу видалимо код методу, що створено автоматично, а додамо власний код наступного вмісту:

using System;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.Xml.Linq;

[WebService(Description="Web-калькулятор", Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class Service : System.Web.Services.WebService

{

public Service () {

}

[WebMethod (Description="Сложение")]

public int Add(int x, int y)

{ return x + y; }

[WebMethod (Description="Вычитание")]

public int Substract(int x, int y)

{ return x - y; }

[WebMethod (Description="Умножение")]

public int Multiply(int x, int y)

{ return x * y; }

[WebMethod (Description="Деление")]

public int Divide(int x, int y)

{ return x / y; }

}

За допомогою прямого звертання переконаєтеся, що ваша Web-служба працює правильно (рис. 5.4).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.4. Вигляд розробленого веб-сервісу в браузері

Обравши один з методів, наприклад „Додавання” можемо впевнитися у вірності роботи веб-сервісу (рис. 5.5).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.5. Внесення даних для виконання веб-сервісу

Результат прямого запуску веб-сервісу та виконання методу „Додавання” із значенням Х=10, У=10, наведено на рис. 5.6.

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.6. Виконання веб-сервісу в браузері

З рис. 5. 6 видно, що результатом роботи методу та сервісу в цілому буде значення 20. Окрім того, що веб-сервіс успішно створено і протестовано необхідно застосувати його для веб-додатку і звернутися до його методів з екранної форми. Створимо новий проект з формою наступного вмісту (рис. 5.7).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.7. Створення веб-форми для застосування веб-сервісу

На формі розташовано 2 текстових поля, кнопка „Помножити” та мітка для виведення результатів. Програмний код розмітки сторінки наступний:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

<form id="form1" runat="server">

<div style="height: 171px">

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<br /> <br />

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

<br /> <br />

<asp:Button ID="Button1" runat="server" Text="Умножить" onclick="Button1_Click" />

<br /> <br />

<asp:Label ID="Label1" runat="server"></asp:Label>

</div>

</form>

</body>

</html>

Для забезпечення можливості застосування розробленого веб-сервісу для створеної сторінки необхідно створити посилання для нього. У вікні Solutіon Explorer клацніть правою кнопкою миші по рядку проектові й у контекстному меню виберіть Add Web Reference. Відкриється вікно Add Web Reference (рис. 5. 8).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5. 8. Додавання посилання на створений веб-сервіс

У поле URL уведіть шлях до Web-служби і натисніть на кнопку Go. Після того, як служба буде знайдена, можна задати для неї програмне ім'я в поле Web Reference Name (наприклад, webсalc) і натисніть на кнопку Add Reference. Посилання на Web-службу буде додано у додаток (рис. 5.9) і можна буде його використовувати в коді об’єкта проксі-класу для Web-служби.

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru
Рис. 5.9. Розташування веб-сервісу в файлах веб-додатку

В обробнику події натискання кнопки „Помножити” необхідно додати код для виклику відповідного методу веб-сервісу.

protected void Button1_Click(object sender, EventArgs e)

{

webcalc.Service calc = new webcalc.Service();

Label1.Text =Convert.ToString(calc.Multiply(Convert.ToInt32(TextBox1.Text), Convert.ToInt32(TextBox2.Text)));

}

Результатом виконання описаних програмних дій є екранна форма, що наведено на рис. 5.10.

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5.10. Застосування веб-сервісу із браузера

Приклад 3. Створення Web-сервісу для роботи з базою даних.Створимо веб-сервіс для вибірки даних з таблиці бази даних.

using System;

using System.Data.SqlClient;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.Xml.Linq;

[WebService(Name="bd", Description="Веб-сервис для работы с базой данных", Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class Service : System.Web.Services.WebService

{

public Service () {

}

string strConn = "Data Source=KATYAN\\SQLEXPRESS;Initial Catalog=tovar;Integrated Security=True";

[WebMethod (MessageName="GetOrders", Description="Веб-метод для работы с заказами", CacheDuration=600)]

public DataSet GetCustOrders()

{

SqlConnection con = new SqlConnection(strConn);

string sql = "select * from tovar";

SqlDataAdapter mydat=new SqlDataAdapter(sql,strConn);

DataSet ds = new DataSet();

mydat.Fill(ds);

return ds;

}

}

Створимо нову сторінку, на якій розташуємо таблицю для відображення даних з таблиці БД через веб-сервіс.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns= "False" DataKeyNames="kod_tov" >

<Columns>

<asp:BoundField DataField="nazv" HeaderText="nazv" SortExpression="nazv" />

<asp:BoundField DataField="gost" HeaderText="gost" SortExpression="gost" />

<asp:BoundField DataField="kod_tov" HeaderText="kod_tov" InsertVisible="False"

ReadOnly="True" SortExpression="kod_tov" />

</Columns>

</asp:GridView>

</div>

</form>

</body>

</html>

Створимо посилання на веб-сервіс (рис. 5. 11).

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5. 11. Застосування веб-сервісу

В обробнику події завантаження форми додамо фрагмент коду для використання веб-сервісу в якості джерела даних.

protected void Page_Load(object sender, EventArgs e)

{

localhost.bd ser = new localhost.bd();

GridView1.DataSource = ser.GetCustOrders();

GridView1.DataBind();

}

Результат виконання зазначених програмних дій наведено на рис. 5. 12.

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru

Рис. 5. 12. Вигляд веб-додатку із застосованим веб-сервісом

РЕКОМЕНДОВАНА ЛІТЕРАТУРА

1. М. Мак-Дональд, А. Фример, М. Шпушта. Microsoft ASP.NET 4 с примерами на С# 2010 для профессионалов, 4-е изд. – М.: Вильямс, 2011. – 1424с.

2. Д. В. Столбовский. Основы разработки Интернет и веб-приложений, М.: Вильямс, 2010. – 256с.

3. М. Беллиньясо. Разработка Веб-приложений в среде ASP.NET. – М.: Вильямс, 2007. – 640с.

4. Эспозито Д. Microsoft ASP.NET 2.0. Углубленное изучение. / Пер. с англ. — М.: Издательство «Русская Редакция»; СПб.:Питер, 2008. — 592 с.

5. Основы ASP.NET. ИНТУИТ, 2007. – 238 с.

6. Г. Бучек. ASP.NET. Учебный курс. – СПб.: Питер, 2002. – 512 с.

Допоміжна

1. Агуров П. В. С#. Збірник рецептів – СПб.: БХВ-Петербург, 2007. – 432с.

2. Культин Н. Б. С# в задачах и примерах. – СПб.: БХВ-Петербург, 2009. – 320 с.

3. Клімов Л. П. С #. Поради програмістам. - СПб.: БХВ-Петербург, 2008. – 544 с

4. Троелсен. Е. С # і платформа. NET. Бібліотека програміста. – СПб.: Пітер, 2004. – 796с.

Інформаційні ресурси

1. Інтернет ресурс: http://www.gotdotnet.ru – один з найвідоміших російськомовних ресурсів для програмістів, що використовують платформу. NET Framework.

2. Інтернет ресурс: http://msdn.microsoft.com – сайт Microsoft.

3.Інтернет ресурс: http://www.intuit.ru

Приклад 1. Застосування шаблону Web-сервісу. - student2.ru Навчальне видання

Методичні вказівки до практичних занять з дисципліни „Нові інформаційні технології” для студентів напряму 6.050103 „Програмна інженерія” (4 курс 7 семестр) / К.М. Ялова, В.В. Завгородній // Київ: КДАВТ, 2016. – 88 с.

Укладачі: к.т.н., доц. Ялова К.М.

к.т.н., доц. Завгородній В.В.

Підписано до друку

Формат Обсяг др. ар.

Тираж екз. Заказ №

м. Київ

вул. Героїв Сталінграду, 2.

Наши рекомендации