Winform 调用WebService程序 图文
发布时间:2020-12-16 23:34:58 所属栏目:安全 来源:网络整理
导读:本文介绍如何架构C#WebService程序 如您对WebService不了解,请先阅读 什么是WebService? 演示程序的WebService框架图 图1 下面来介绍如果建立WebService项目 1.打开Visual Studio 2005,在主菜单内点文件-新建-WebSite-打开New WebSite对话框 图2 2.在New We
本文介绍如何架构C#WebService程序
如您对WebService不了解,请先阅读 什么是WebService? 演示程序的WebService框架图 图1 下面来介绍如果建立WebService项目 1.打开Visual Studio 2005,在主菜单内点文件->新建->WebSite->打开New WebSite对话框 图2 2.在New Web Site对话框内选择Asp.Net Web Service模板,设置工程保存目录,选择语言,点确定。 图3 3.在Visual Studio内可以看到刚才创建的WebService工程。如下图 图4 4. 编写WebService服务器端代码,演示程序建立了一个DataAccessLayer类库项目,并建立了一个UserData类
public
class UserData
{ ??? // ??? //数据访问层 (DataAccessLayer) ??? //获取用户列表,这里方便演示直接创建一个DataTable.(您可以从SqlServer获取数据) ??? // ??? public byte[] GetUserList() ???{ ??????DataSet ds = new DataSet(); ??????DataTable dt = new DataTable(); ??????dt.Columns.Add("UserName",typeof( string)); ?????? ?????? //增加一条记录 ??????DataRow row = dt.NewRow(); ??????row[0] = "易学网"; ??????dt.Rows.Add(row); ?????? ??????row = dt.NewRow(); ??????row[0] = "易学原创"; ??????dt.Rows.Add(row); ?????? ??????ds.Tables.Add(dt); ?????? ?????? //将DataSet转换为byte数组,用于Http传输。 ?????? return ZipObject.CompressionDataSet(ds); ???} } 在HelloWorld方法下编写一个自己的方法.HelloWorld方法是可以删除的。
//建立一个自己的Web方法
[WebMethod] public byte[] GetUserList() { ??? return new UserData().GetUserList(); } 5.如编译通过,按F5运行WebService程序,如下是运行效果图,下面有5个可用链接,点Service.asmx链接。 图5 6.点Service.asmx链接出现WebService方法定义列表页面。(点HelloWorld方法试试?) 图6 7. 建立一个WinForm客户端工程. 步骤:运行一个新的Visual Studio 2005实例,在主菜单上点文件->新增->项目.在新建项目对话框内项目类型选择Visual C#,模板选择Windows Application. 设置项目保存目录及项目名称,点确定。选择References树结点,点右键打开弹出菜单,如下图: 图7 8. 点弹出菜单的添加Web引用,打开[添加Web引用]对话框. 复制第6步的页面地址到Url内,点前往按钮。 此时vs查找输入的asmx地址是否存在,如存在打开asmx页面.该页面就是服务器端发布的asmx文件。 在Web引用名输入一个易记的名字,如UserWebService,如下图: 图8 9.点添加引用按钮,在客户端项目工程内自动生成Web References结点及Service类,在对象浏览器内可看到. 表示引用WebService成功,接下来我们可以使用WebSerice了。 图9 10.创建一个WinForm窗体,在[调用WebService方法]按钮的Click事件内输入:
private
void button1_Click(
object sender,EventArgs e)
{ ??? //调用UserWebService命名空间的Service类的GetUserList方法获取用户列表 ??? //该类在添加Web引用后自动生成的。 ??? byte[] bytes = new UserWebService.Service().GetUserList(); ??? ??? //将byte数组转换为DataSet ???DataSet ds = (DataSet)ZipObject.DecompressionDataSet(bytes); ???dataGridView1.DataSource = ds.Tables[0]; } 11.按F5运行Winform程序,效果图如下: 原文地址:http://www.csframework.com/archive/5/arc-5-20110714-1723.htm 感谢 其他资料: http://blog.csdn.net/aspnet2002web/article/details/6074463? WinForm如何调用Web Service (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |