10/10/2018, 09:50
lập trình Webservice
Em muốn lập trình một webservice có cung cấp lệnh refresh 1 trang web bất kì . Lệnh này có thể được gọi từ một chương trình chạy trên pc . Không biết có thực hiện được ko ? mong các bác cho ý kiến
Bài liên quan
đâu tiên bạn phải tạo một Project mới trong ASP.net và chọn là webservice.
trong này mình làm một webservice đơn giản là trả về giá trị nha. CSDL bạn phải thay vào nha. mình chỉ demo thôi nha:
code folowing:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
private string strcon = "server=.;database=Pubs;uid=sa;pwd=;";
SqlConnection con;
public Service () {
con = new SqlConnection(strcon);
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public DataSet NhaXB_get()
{
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "spNhaXB_get";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
return ds;
}
[WebMethod]
public void NhaXB_insert(string pub_id, string pub_name, string city, string state, string country)
{
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "spNhaXB_ins";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.Parameters.Add("@pub_id", SqlDbType.Char, 4);
cmd.Parameters["@pub_id"].Value = pub_id;
cmd.Parameters.Add("@pub_name", SqlDbType.VarChar, 40);
cmd.Parameters["@pub_name"].Value = pub_name;
cmd.Parameters.Add("@city", SqlDbType.VarChar, 20);
cmd.Parameters["@city"].Value = city;
cmd.Parameters.Add("@state", SqlDbType.Char, 2);
cmd.Parameters["@state"].Value = state;
cmd.Parameters.Add("@country", SqlDbType.VarChar, 30);
cmd.Parameters["@country"].Value = country;
cmd.ExecuteNonQuery();
con.Close();
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
##############################
đoạn code trên bạn viết trong file Service.cs
bạn có thể làm bất kì một hàm trả về giá trị bất kì miễn là đặt dưới
[webMethod] như ví dụ trên. xong rồi bạn cho chạy dự án nó sẽ lên trang service.
đó là phần của trang Service
nếu bạn muốn làm ở trang Client thi mình sẽ nói sau nha. 2 ngày nữa nha bây giờ mình có việc. thông cảm nha.
xin lưu ý là đó chỉ là căn bản(Quá căn bản thôi mà mình cũng chỉ biết đến thê thôi à)
bye!!! mong các bạn đóng gớp ý kiến cho chủ đề này. mình thấy cái này hay đấy chứ
web service chẳng qua là Web server nó resopne lại cho client bằng một chuỗi XML(bình thường thì server respone là chuỗi HTML) ,rồi client dùng ngôn ngữ lập trình phía client như Javascript để xử lý chuỗi XML đó rồi display ra trình duyệt web ,đơn giản chỉ có thế thôi(Client cũng có thể request lại server bằng chuỗi XML)
cái chuỗi XML respone đó tự bạn định nghĩa cũng được nhưng nếu thế thì chỉ có hệ thống của bạn hiểu thôi ,còn muốn trao đổi với các hệ thống khác thì bạn phải tuân đúng chuẩn thằng W3C ,cái chuẩn đó là SOAP message.
do đó trước khi bạn lập trình với web services hãy thuần các kỹ năng sau:
-lập trình phía máy chủ với PHP-MYSQL ,PHP DOM,cuối cùng bạn nên xem SOAP function
-lập trình phía client:sử dụng Javascript căn bản ,quan trọng là nắm rõ nguyên tắt của AJAX ,tiếp đến là sử dụng JQUERY AJAX thành thạo
-nắm vững XML ,SOAP message.
-Bạn cũng nên tham khảo NuSOAP nó viết như thế nào