Sự kiện : 25/07 Blog chính thức đổi tên thành X-0707
Tin hot : Hacker đang rất là lộng hành bà con mình cẩn thận nha!
Bài hay : Not config by admin
Thông báo : Để mua hàng trên blog bạn vui lòng liên hệ với mình qua SĐT 090.39.39.710 để lấy thông tin, hoặc để nhận được tư vấn và hướng dẫn để lựa chọn và mua sản phẩm phù hợp. Thời gian delay hàng trễ nhất là 1 tuần và đổi trả bảo hành là 2 tuần

Saturday, January 7, 2012

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


Ở đâ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#.
PDF version here
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à convertWSNhấ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

No comments:

Post a Comment