خب حالا به مرحله دوم ارسال داده با شی DataSet میریم:

وقتی یک نگاه به کلاس DataSet میکنیم:


[SerializableAttribute]
public class DataSet : MarshalByValueComponent, IListSource,
IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, ISerializable


میبینم که این کلاس قابلیت سریالیز شدن رو دارا هست و به همین خاطر ما میتونیم از طرق وب سرویس داده های این شی رو به سمت کلاینتی که درخواست کرده ارسال کنیم.

پس در وب سرویس قبلی یک متد جدید اضافه میکنیم:


[WebMethod]
public DataSet GetData()
{
// First Create a New Connection
using (SqlConnection connection = new SqlConnection())
{
// Now Pass a Connection String To the Connection
connection.ConnectionString = "Connection String....";
// Now the Select statement you want to run
string select = "select * from Persons ";
// Create an Adapter
SqlDataAdapter da = new SqlDataAdapter(select, connection);
// Create a New DataSet
DataSet ds = new DataSet();
// Fill The DataSet With the Contents of the Stock Table
da.Fill(ds, "Persons");
// Now Return ds which is a DataSet
return (ds);
}
}


توضیحات متد:
کار این متد کاملا مشخص هست که به پایگاه داده متصل میشه و پس از اجرای یک کوئری و پر کردن شی DataSet اقدام به فرستادن این شی میکند.

برای دریافت در برنامه هم همانند زیر عمل کنید:


GridView2.DataSource = MWS.GetData();
GridView2.DataBind();


حالا پروژه رو ران کنید و لذت ببرید....!