You are on page 1of 7

Tạo Web Service với C# step-by-step

Created-By:Võ Văn Hải


Website: http://vovanhai.wordpress.com
Ở đây chúng ta có 1 ví dụ về tạo 1 web service cho việc chuyển đổi tiền tệ từ tiền Việt Nam sang
tiền USD và Euro, cũng như việc chuyển ngược lại.
IDE sử dụng ở đây chúng ta dùng bộ VS 2008, và ngôn ngữ lập trình C#.
A. Tạo Web Service
1. Trong môi trường Visual Studio, Ta chọn File->New->Project

Ở đây ta chọn Template là “ASP.Net Web Service Application”, điền và tên Prject là
ConvertCurrency, chọn thư mục lưu trữ. Nhấn OK, ta được

2. Xóa Service1.asmx bằng cách chọn nó và nhấn phím delete. Ta sẽ thêm 1 service mới
bằng cách nhấn chuột phải lên project, chọn Add->New Item.
Chọn Template Web Service, Đặt tên cbo nó là ConvertWS.asmx, Nhấn nút Add ta
được 1 web service tên ConvertWS trên Solution Explorer.

3. Code cho các service methods như sau


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

namespace ConvertCurrency
{
/// <summary>
/// Web service này dùng chuyển đổi ngoại tệ từ tiền Việt sang USD,
/// Euro và ngược lại
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class ConvertWS : System.Web.Services.WebService
{
private const double USD_RATE = 16740;
private const double EUR_RATE = 18960;
[WebMethod]
public double VND2USD(double dong)
{
return dong/USD_RATE;
}
[WebMethod]
public double VND2EUR(double dong)
{
return dong / EUR_RATE;
}
[WebMethod]
public double USD2VND(double usd)
{
return usd * USD_RATE;
}

[WebMethod]
public double EUR2VND(double eur)
{
return eur * EUR_RATE;
}
}
}

4. Chạy ứng dụng bằng cách nhấn F5, VS sẽ triển khai ứng dụng. Kết quả như sau

Nếu bạn muốn xem WSDL của service, ta nhấn link “Service Description” ta có

Ghi nhớ lại link này để còn dùng về sau : http://localhost:1291/ConvertWS.asmx?WSDL


5. Để thử service, ta có thể chọn bất kỳ link nào trong 4 link EUR2VND, USD2VND
VND2EUR, VND2USD. Ở đây ta thử link USD2VND, kết quả như sau

Nhập usd có giá trị 100, nhấn Invoke, kết quả nhận được là

Như vậy là chúng ta đã tạo được 1 Web Service, bây giờ chúng ta có thể triển khai 1 ứng
dụng client được rồi.
B. Tạo Consumer
1. Tạo ứng dụng Windows Application bằng cách nhấn phải chuột lên Solution trong project
Explorere, chọn Add->New Project
Chọn Template “Windows Form Application”, đặt tên là ConsumeConvertWS, nhấn
OK, ta được

Nhấn chuột phải lên project vừa tạo, chọn “Set as StartUp Project” để đảm bảo project
vừa tạo là project sẽ được thực thi khi nhấn F5.
2. Trong Project Explorer, nhấn chuột phải lên References, chọn “Add Web Reference…”
Gõ vào URL đến WSDL vào ô URL, nhấn nút Go, kết quả như sau

Đặt tên cho Web reference name là convertWS. Nhấn nút “Add Reference”. Ta có kết
quả sau trên Project Explorer
3. Thiết kế form như hình sau

Đặt tên cho TextBox là txtMoney, Label hiển thị kết quả là lblKetQua
4. Viết code cho các nút
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ConsumeConvertWS
{
public partial class Form1 : Form
{
private ConsumeConvertWS.convertWS.ConvertWS ws;
public Form1()
{
InitializeComponent();
ws = new ConsumeConvertWS.convertWS.ConvertWS();
}

private void VND2USD_Click(object sender, EventArgs e)


{
double mon = Double.Parse(txtMoney.Text);
double usd = ws.VND2USD(mon);
lblKetQua.Text = usd.ToString();
}

private void VND2EUR_Click(object sender, EventArgs e)


{
double mon = Double.Parse(txtMoney.Text);
double usd = ws.VND2EUR(mon);
lblKetQua.Text = usd.ToString();
}

private void USD2VND_Click(object sender, EventArgs e)


{
double mon = Double.Parse(txtMoney.Text);
double usd = ws.USD2VND(mon);
lblKetQua.Text = usd.ToString();
}

private void EUR2VND_Click(object sender, EventArgs e)


{
double mon = Double.Parse(txtMoney.Text);
double usd = ws.EUR2VND(mon);
lblKetQua.Text = usd.ToString();
}

}
}

5. Chạy thử nghiệm

C. Kết luận
Vậy là chúng ta đã tạo được 1 web service đơn giản và 1 client để tiêu thụ web service này.
Các bạn nếu có tham vọng tìm hiểu sâu hơn về web service với VS thì có thể tham khảo thêm
trong bộ MSDN. Chúc may mắn!

You might also like