PDA

View Full Version : [Hỏi] Hướng xử lý cho vấn đề liên kết giữa winform và webservise



thitcholaotien
12-02-2014, 19:56
Sory vì tiêu đề không quá rõ ràng.
Bài tập của mình là phần mềm của mình cần kết nối với một đơn vị thanh toán.
Người ta cần minh tạo 1 webservise để khi nào bên mình ấn thanh toán (nút nằm trên form) sẽ gọi đến 1 method trên webservise , method này trả về 1 chuỗi
Người ta mang chuỗi này về xử lý sau khi xử lý sau lại gọi đến 1 hàm, hàm này trả lại cho bên mình 2 biến và mình lấy 2 biến này về xử lý.
Hiện giờ mình nghĩ sẽ phải dùng timer check liên tục.
COde của mình đây


// Các thuộc tính lưu lại
public string _mabn;
public string _sotienthu;
public string _kt;
public string _sophieu;
public string _mathutien;
public string _chuoitrave;
public string _mathutien_return;
public string _trangthai_return;
//Khi minh click button trên form sẽ truyền vào hàm này, hàm này sẽ trả về 1 chuỗi, chuỗi đó lưu vào thuộc tính _chuỗitrave
public void setthuoctinh(string mabn, string sotienthu, int kt, string sophieu, string mathutien)
{

_mabn = mabn_ToString();
_sotienthu = sotienthu_ToString();
_kt = "0";
_sophieu = sophieu_ToString();
_mathutien = mathutien_ToString();
}
// Bên kia sẽ check hàm này để lấy dc chuỗi cần thiết
[WebMethod]
public string senddatapos()
{

string c = "";
c += _mabn_ToString();
c += "!";
c += _sotienthu_ToString();
c += "!";
c += _kt_ToString();
c += "!";
c += _sophieu_ToString();
c += "!";
c += _mathutien_ToString();
return c;
}
//form của mình sẽ check liên tục thuộc tính _mathutien_return và _trangthai_return để xử lý
[WebMethod]
public void requestdatapos(string id, string trangthai)
{
_mathutien_return = id_ToString();
_trangthai_return = trangthai_ToString();
}
}

hixx _tostring() do ko dc dùng dấu chấm, các bác thông cảm
Tuy nhiên mình thấy nó không ổn:
- thứ nhất là nếu dùng timer thì mình sẽ fai làm thế nào để check (cách if thế nào để nhận biết)
- Thứ 2 là nếu nhiều người dùng cùng gửi yêu cầu(click button trên form) thì xử lý thế nào.
Thật sự mong mọi người giúp đỡ

dxt49
13-02-2014, 16:31
Hiện giờ mình nghĩ sẽ phải dùng timer check liên tục.

--> chưa hiểu lắm, bạn cần check gì

Than Dieu
18-02-2014, 23:17
Bạn chỉ cần add references là xong, bạn có thể làm theo hướng dẫn sau đây, đầy đủ cả source code lẫn hình ảnh đó bạn.

Cách để Winform nhận giá trị thông qua Webservice C# (http://diendan.congdongcviet.com/threads/t92276::tao-web-service-c-step-by-step.cpp)

Hi vọng giúp ích cho bạn!