
- •Лабораторна робота 3.
- •Xml messaging. Відповідає за формування та розбір повідомлень на базі xml. Включає протоколи xml-rpc та soap.
- •Idl description (Interface Definition Language - мова визначення інтерфейсу)
- •Створення служби «Hello, World» в середовищі Visual Studio .Net
- •Тестування служби
- •Атрибут WebService
- •Властивість EnableSession
- •Властивість CacheDuration
- •Властивість TransactionOption
- •Властивість BufferedResponse
- •Кешування
- •Просте кешування результатів
- •Кешування даних в Web - сервісах
- •Встановлення елементів в кеш
- •Установка Web сервера iis
- •Задача 1.2. Створення рівню dal.
- •Створюємо тестер.
- •Задача 2. Створення рівню сервіса.
- •3.Створення тестеру-клієнта .
Створюємо тестер.
Для тестування логіки створюємо проект Administration.BLL.Test типу консольний додаток.
Додаємо посилання на зборки Administration.BLL, Administration.DAL.
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Administration.BLL;
namespace Administration.BLL.Test
{
class BLLTester
{
public void GetUserTest()
{
try
{
UserManager userManager = new UserManager();
User user = userManager.GetUser("admin", "admin");
Console.WriteLine("ID: "+ user.ID.ToString() +"\n"+
"Login: "+ user.Login.ToString() +"\n"+
"Password: "+ user.Password.ToString() +"\n"+
"Active: "+ user.Active.ToString()
);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\n" + ex.StackTrace);
}
}
}
}
Додаємо клас TestRunner
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Administration.BLL.Test
{
class TestRunner
{
static void Main(string[] args)
{
BLLTester bllTester = new BLLTester();
bllTester.GetUserTest();
Console.ReadKey();
}
}
}
Додаємо в секцію appSettings файлу конфігурації App.config строку підлючення до БД:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="connectionString" value="Server = LISHUCORE;Database = xadministration; UID = sa; PWD = sa;Connection Lifetime = 0; Max Pool Size = 300;Min Pool Size = 10; Pooling = true;" />
</appSettings>
</configuration>
Запускаємо тест.
Задача 2. Створення рівню сервіса.
Створюємо веб-сервіс AdministrationWebService. Додаємо новий проект типу ASP.NET Web service.
Створюємо solution з проектом
Зв’язуємо сервіс із віртуальною папкою IIS.
Результат тесту: http://localhost/AdministrationWebService/Service1.asmx
Додаємо посилання на зборки Administration.BLL, Administration.DAL
Перейменуємо сервіс у AdministrationService, додаємо метод отримання користувача.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using Administration.BLL;
namespace AdministrationWebService
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class AdministrationService : System.Web.Services.WebService
{
[WebMethod]
public User GetUser(String login, String password)
{
try
{
UserManager userManager = new UserManager();
User user = userManager.GetUser(login, password);
return user;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
}
}
Огляд контракту сервісу.
В файл Web.config додаємо строку
<appSettings>
<add key="connectionString" value="Server = LISHUCORE;Database = xadministration; UID = sa; PWD = sa;Connection Lifetime = 0; Max Pool Size = 300;Min Pool Size = 10; Pooling = true;" />
</appSettings>