Hello I converted vb.net to C#,I thank you about your help. also,i tried about programming. this result is: I produced two classes 1-class1 2-myextension in main web service project according to the following link: http://www.dotnetjunkies.com/PrintContent.aspx?type=tutorial&id=46630AE2-1C79-4D5F-827E-6C2857FF1D23 and put following code in webservice.cs,but after debuging ,i did not see anything,but in Form1 in "Improve XML Web Services' Performance by Compressing SOAP's Figure 2 " there is a pictuer with a datagrid that shows orders table from Nortwind. also i used from #ZipLib . what is [webmethod] in this project? using System; using System.Web; using System.Web.Services; using System.Data; using System.Data.SqlClient; using System.Web.Services.Protocols; using System.Configuration; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.ComponentModel; using System.Diagnostics; using System.Xml.Serialization; using ClientSoapExtension; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Diagnostics.DebuggerStepThroughAttribute(), System.ComponentModel.DesignerCategoryAttribute("code"), System.Web.Services.WebServiceBindingAttribute(Name = "Service1Soap", Namespace = "http://tempuri.org/")] public class Service : System.Web.Services.Protocols.SoapHttpClientProtocol { public Service ():base() { //Uncomment the following line if using designed components //InitializeComponent(); } [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/getproducts", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped), ClientSoapExtension.myextensionattribute()] public System.Data.DataSet getproducts() { object[] results = this.Invoke("getproducts", new object[-1 + 1]); return (System.Data.DataSet)results[0]; } public System.IAsyncResult Begingetproducts(System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("getproducts", new object[-1 + 1], callback, asyncState); } public System.Data.DataSet Endgetproducts(System.IAsyncResult asyncResult) { object[] results