Lesson 04: Web Services And Windown Communication Foundation(WCF)
Bài Tập: Tạo mới Solution với tên là Exercise04Soln
Ø Bài Tập 1: Hiểu cơ bản về ASP.NET Web Service Application
· Thêm mới ASP.NET Web Service Application Project vào solution tên là : DataWebService
· Đổi tên Service1.asmx thành DataService.asmx
· Bật sang chế độ code behide DataService.asmx.cs
ü Đổi HelloWord Web Service interface(tên method) thành GetHelloWord
ü Khai báo method mới tên là GetMessage(string message) và trả ra thông điệp
· Tạo mới folder trong bất kì đĩa nào đặt tên là PublishWebServices
· Publish Web Service này đến folder PublishWebServices
Ø Bài Tập 2 :Cách lấy dữ liệu từ Web Service bằng ASP.NET
· Thêm mới ASP.NET Application Project vào solution tên là : DataWebApplication
· Open Default.aspx chế độ Design
· Add Reference đến DataWebService.dll trong PublishWebServices\BIN folder
· Khai báo code trong sự kiện của button GetHelloWord
ü Gọi GetHelloWord interface(tên method) và hiển thị thông điệp lên literal1
protected void Button1_Click(object sender, EventArgs e)
{
DataWebService.Service1 service = new DataWebService.Service1();
Literal1.Text = service.HelloWorld();
}
· Khai báo code trong sự kiện của button GetMessage
ü Gọi GetMessage interface(tên method) và hiển thị thong điệp lên literal2
protected void Button2_Click(object sender, EventArgs e)
{
DataWebService.Service1 service = new DataWebService.Service1();
Literal2.Text = service.GetMessage("hung");
}
· Chạy F5 và click trên button sau đó xem kết quả
Ø Bài Tập 3 :Hiểu biết về sự kết hợp giữa Web Service và ADO.NET
· Tiếp tục với DataWebService
· Thêm Web Service tên là Students.asmx
· Đổi HelloWord thành GetName(string id)
· Trả ra giá trị bằng cách gọi method GetValue(string id)
[WebMethod]
public string GetName(string id)
{
return getValues(id);
}
· Khai báo method tên là GetValue(string id)
ü Kết nối tới database StudentManagementForProfessional
ü Lấy và trả ra StudentId của Student table mà có StudentId là id được truyền vào
string getValues(string id)
{
SqlConnection sqlConnection = null;
SqlCommand sqlCommand = null;
string connectionString = "server=(local);database=StudentManagementForProfessional;integrated security=true";
DataTable dataTable = new DataTable();
using (sqlConnection = new SqlConnection(connectionString))
{
sqlConnection.Open();
string commandText = "select StudentId from Students where StudentId='" + id + "'";
sqlCommand = new SqlCommand(commandText, sqlConnection);
sqlCommand.CommandType = CommandType.Text;
using (SqlDataReader reader=sqlCommand.ExecuteReader())
{
while (reader.Read())
{
id = reader["StudentId"].ToString();
}
}
}
return id;
}
· Publish Web Service này
Ø Bài Tập 4 : Cách lấy dữ liệu dùng ADO từ Web Service bằng ASP.NET
· Thêm Web Form tới ASP.NET tên là Default2.aspx
· Thêm TextBox,Literal và Button Default2.aspx
· Add Reference đến DataWebService.dll trong PublishWebServices\BIN folder
· Khai báo code trong sự kiện của button Show Data
ü Gọi GetName interface(tên method) với id là giá trị trên TextBox và hiển thị StudentId lên literal
protected void Button1_Click(object sender, EventArgs e)
{
DataWebService.Students student = new DataWebService.Students();
Literal1.Text= student.GetName(TextBox1.Text);
}
· Chạy F5 và click trên button sau đó xem kết quả
Ø Bài Tập 5 :Hiểu biết về sự kết hợp giữa Web Service và ADO.NET
· Tiếp tục với DataWebService
· Tạo 1 Class mới tên DataProvider
· Khai báo method tên là GetValue(string id)
ü Kết nối tới database StudentManagementForProfessional
ü Lấy và trả ra StudentId của Student table mà có StudentId là id được truyền vào
public string getValues(string id)
{
SqlConnection sqlConnection = null;
SqlCommand sqlCommand = null;
string connectionString = "server=(local);database=StudentManagementForProfessional;integrated security=true";
DataTable dataTable = new DataTable();
using (sqlConnection = new SqlConnection(connectionString))
{
sqlConnection.Open();
string commandText = "select StudentId,FirstName +' '+ LastName as FullName from Students where StudentId='" + id + "'";
sqlCommand = new SqlCommand(commandText, sqlConnection);
sqlCommand.CommandType = CommandType.Text;
using (SqlDataReader reader = sqlCommand.ExecuteReader())
{
while (reader.Read())
{
id = reader["FullName"].ToString();
}
}
}
return id;
}
· Bật sang Students.asmx.cs
ü Khai báo method tên là GetFullName(string id)
ü Trả ra giá trị bằng cách gọi method GetValue(string id) của class DataProvider
public string GetFullName(string id)
{
DataProvider dataProvider = new DataProvider();
return dataProvider.getValues(id);
}
· Publish Web Service này
Ø Bài Tập 6 : Cách lấy dữ liệu dùng ADO từ Web Service bằng ASP.NET
· Thêm Web Form tới ASP.NET tên là Default3.aspx
· Thêm TextBox,Literal và Button Default3.aspx
· Add Reference đến DataWebService.dll trong PublishWebServices\BIN folder hoặc Add Web Reference đến Students.asmx (chạy Students.asmx copy link để add vào)
· Khai báo code trong sự kiện của button Show Data
ü Gọi GetFullName interface(tên method) với id là giá trị trên TextBox và hiển thị StudentId lên Literal
protected void Button1_Click(object sender, EventArgs e)
{
DataWebService.Students student = new DataWebService.Students();
Literal1.Text = student.GetFullName(TextBox1.Text);
}
· Chạy F5 và click trên button sau đó xem kết quả
Ø Bài Tập 7 : Cách lấy dữ liệu dùng ADO từ Web Service bằng Windows Forms
· Tạo Windows Form Application Project tên là WindowsFormsApplication
· Thêm TextBox,Label và Button Form1
· Add Reference đến DataWebService.dll trong PublishWebServices\BIN folder hoặc Add Web Reference đến Students.asmx (chạy Students.asmx copy link để add vào)
· Add Reference System.Web.Service
· Khai báo code trong sự kiện của button Show Data
ü Gọi GetFullName interface(tên method) với id là giá trị trên TextBox và hiển thị StudentId lên lablel
private void button1_Click(object sender, EventArgs e)
{
DataWebService.Students student = new DataWebService.Students();
label1.Text = student.GetFullName(textBox1.Text);
}
· Chạy F5 và click trên button sau đó xem kết quả
Ø Bài Tập 8 : Hiểu cơ bản về Windows Communication Foundation(WCF)
· Tạo WCF Service Application Project vào Solution tên là DataWCFService
· Bật IService1.cs
ü Thêm interface GetHelloWord(string message)
[OperationContract]
string GetHelloWorld(string message);
· Bật Service1.svc.cs
ü Khai báo method GetHelloWord(string message) và trả ra 1 chuỗi thông điệp
public string GetHelloWorld(string message)
{
return message;
}
· Publish WCF Service này đến folder PublishWebServices
Ø Bài Tập 9 :Cách lấy dữ liệu từ WCF bằng ASP.NET
· Thêm Web Form tới ASP.NET tên là Default4.aspx
· Thêm 2 literal và 2 button vào Default4.aspx
· Add Reference đến DataWCFService.dll trong PublishWebServices\BIN folder hoặc Add Service Reference đến Service1.asmx(chạy Service1.asmx copy link để add vào)
· Khai báo code trong sự kiện của button GetHelloWord
ü Gọi GetHelloWord interface(tên method) và hiển thị thong điệp lên literal1
protected void Button1_Click(object sender, EventArgs e)
{
//ServiceReference1.Service1Client abc = new DataWebApplication.ServiceReference1.Service1Client();//add tu url
//Literal1.Text= abc.GetHelloWorld("hung");
DataWCFService.Service1 a = new DataWCFService.Service1();
Literal1.Text = a.GetHelloWorld("hung");
}
· Khai báo code trong sự kiện của button GetData
ü Gọi GetData interface(tên method) và hiển thị thông điệp lên literal2
protected void Button2_Click(object sender, EventArgs e)
{
ServiceReference1.Service1Client service = new DataWebApplication.ServiceReference1.Service1Client();
Literal2.Text = service.GetData(1);
}
· Chạy F5 và click trên button sau đó xem kết quả
Ø Bài Tập 10 : Cách lấy dữ liệu dùng ADO từ WFC bằng Windows Forms
· Tiếp tục với WindowsFormsApplication
· Thêm Form2
· Thêm TextBox,Label và Button Form2
· Add Reference đến DataWCFService.dll trong PublishWebServices\BIN folder
· Add Reference System.Web.Service(đã add ở trên) hoặc Add Service Reference đến Service1.asmx(chạy Service1.asmx copy link để add vào)
· Khai báo code trong sự kiện của button Show Data
ü Gọi GetFullName interface(tên method) với id là giá trị trên TextBox và hiển thị StudentId lên lablel
private void button1_Click(object sender, EventArgs e)
{
DataWCFService.Service1 service = new DataWCFService.Service1();
label1.Text = service.GetFullName(textBox1.Text);
}
· Chạy F5 và click trên button sau đó xem kết quả
Bài Tập Mở rộng: không cho người ta biết trong service viết gì(security)
Ø Bài Tập 11 :Cách sử dụng file cs được build từ DataService.asmx
· Chạy DataService.asmx copy link http://localhost:49191/DataService.asmx
· Start/program/…../Visual studio command prompt
· Sẽ build ra đĩa bất kì giả sử là D: gõ D: enter
· wsdl http://localhost:49191/DataService.asmx /out:newcs.cs
· hoàn tất sẽ xuất hiện file newcs.cs trong đĩa D
· Tạo mới ASP.NET Application tên là UseBuildCsFromasmx
· Copy newcs.cs trong đĩa D vào project và sư dụng tương tự như Class bình thường
Ø Bài Tập 12 :Cách sử dụng file dll được build từ newcs.cs
· Start/program/…../Visual studio command prompt
· Sẽ build ra đĩa chứa newcs.cs giả sử là D: gõ D: enter
· csc /target:library /out:newcs.dll newcs.cs
· hoàn tất sẽ xuất hiện file newcs.dll trong đĩa D
· Tạo mới ASP.NET Application tên là UseDllBuildFromCsOfasmx
· Add Reference đến newcs.dll trong đĩa D vào project và sử dụng tương tự như dll bình thường
0 comments:
Post a Comment