最近看了点关于webservice的文章,感觉webservice和客户端的结合是一种很不错的方式。
下面是一个webservice和客户端结合的例子:
首先建立一个ASP.Net Web服务
在Service1.asmx开始处,引用类库using System.Data.SqlClient;
在[WebMethod]处填写方法:
[WebMethod]
public DataSet GainDS(string querystr)
{
try
{
SqlConnection sqlcon = new SqlConnection("server=local;database=Northwind;uid=admin;pwd=admin");
SqlDataAdapter myadapter = new SqlDataAdapter (querystr, sqlcon);
DataSet myds = new DataSet();
myadapter .Fill(myds);
return myds;
}
catch(Exception ex)
{
throw ex;
}
}
编译后运行结果如下:
点击GainDS方法,跳转到如下页面:
在querystr中输入sql语句,点击调用就可以查看到需要的结果了,只不过结果在网页中是以XML的形式显示的。
前期工作已经完成,那么如何让我们写好的webservice和windows客户端有效的结合呢?
首先建立一个新的windows应用程序;
然后在应用程序工程文件中右键选择‘添加web引用’,在URL中填入webservice地址:http://localhost/WebServiceTest/Service1.asmx,点击‘确定’。
在form_load方法中添加代码:
private void Form_Load(object sender, System.EventArgs e)
{
webclient.Service1 client = new OwcTest.webclient.Service1();
string querystr = "select * from ordertitle";
this.dataGrid1.DataSource = client.GainDS(querystr);
}
运行结果如下:
如果没有网速,数据量等的限制,这种方法应该是一个实现智能客户端(SL)的不错方式。
如果有兴趣大家可以一起讨论(hanfeng0831at hotmail.com)
Copyright © 随风
浙公网安备 33010602011771号