PDA

View Full Version : Hoi ve [WebMethod] trong Web Service



guang_hq
25-05-2009, 17:15
Mình mới tìm hiểu về Web Service nên mình không hiểu khi tạo Web Service, trước mỗi method lai co [WebMethod].nó có ý nghĩa như thế nào, dùng để làm j? rất vui khi nhận được sự giúp đỡ.thanks advance

xichlox
25-05-2009, 21:14
Đó là dạng attribute (thông tin metadata bổ sung) trong .NET. Trong những xử lý khác có thể truy vấn thêm thông tin này để thực hiện một điều gì đó nó cần.
Attribute [WebMethod] để ASP.NET runtime nhận diện chức năng của phưong thức đó để từ đó xử lý các tham số và kết quả trả về ở dạng tiêu chuẩn của Web Service khi trao đổi dữ liệu qua http.

Bạn đọc thêm trong sách để biết.

khanhloc2011
02-06-2009, 15:23
Attribute [WebMethod] cho biết hàm này là một Method của Webservice.
Nếu bạn ko để cái này thì khi Client Reference đến Webservice sẽ ko có Method này.

Hy vọng đã giúp ích cho bạn

lifeme
03-09-2009, 17:08
Các bác ơi, trong cả code behind của C# em cũng thấy có
[WebMethod]

Ví dụ luôn:

------------

[WebMethod]
public static String btnXoaNguoiDung(String ID)
{
SysUser oUser = ProviderFactory.SysUserProvider.GetById(Convert.To Int32(ID));
if (oUser == null)
{
throw new Exception(Resources.Resource.msgNguoiDungKhongTonT ai);
}
else
{
TransactionManager objTransaction = ProviderFactory.Transaction;
try
{
TList<SysUserRole> lstSysUserRole = ProviderFactory.SysUserRoleProvider.GetByUserid(Co nvert.ToInt32(ID));
ProviderFactory.SysUserRoleProvider.Delete(objTran saction,lstSysUserRole);
ProviderFactory.SysUserProvider.Delete(objTransact ion,Convert.ToInt32(ID));
objTransaction.Commit();
return Resources.Resource.msgXoaNguoiDungThanhCong;
}
catch (Exception ex)
{
objTransaction.Rollback();
throw ex;

}
}
}

-------------

Em chưa hiểu lắm tại sao lại phải thêm vào nhỉ (Đây chỉ là code behind của trang aspx bình thường thôi ạ....)

freshgraduate09
03-09-2009, 18:17
Method được đánh dấu WebMethod để cho biết method đó thuộc mức Webservice, và tại nơi bạn muốn consume webservice, bạn có thể nhìn thấy (chấm sổ) method đó.

Method không được đánh dấu WebMethod sẽ được hiểu là 1 method bình thường viết trong cái class đó, và tùy thuộc modifier , nó sẽ được gọi ở section nào tại cái server chứa Webservice đó

chieunt
03-09-2009, 23:29
Mình mới tìm hiểu về Web Service nên mình không hiểu khi tạo Web Service, trước mỗi method lai co [WebMethod].nó có ý nghĩa như thế nào, dùng để làm j? rất vui khi nhận được sự giúp đỡ.thanks advance


- link đây : http://msdn.microsoft.com/en-us/library/byxd99hx%28VS.71%29.aspx
- theo tôi, bạn chịu khó hỏi google trước khi post, cái gì cũng post lên đây thì chắc các pác Admin ko có tiền mua host.