架构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);
}
}
{
//
//数据访问层 (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();
}
[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];
}
{
//调用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程序,效果图如下:

图10
本文来源:
参考文档:
Winform三层架构+WebService+权限管理系统软件开发平台(C#.NET开发)
WebService架构提交数据-生成仅包含修改了字段的数据表
C/S框架-WebService架构下分页查询数据解决方案
WebService架构 - 为什么需要Web服务?
C/S架构软件开发平台V6旗舰版 | 客户端运行环境需要的程序文件|C/S开发框架
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)-C/S开发框架
C/S桌面应用程序技术架构-Winform快速开发框架
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)
C#开发的MDI架构+Access数据库应用程序(增删改查)
C/S框架-WebService架构用户凭证(令牌)解决方案
基于WebService架构的C/S系统
架构图里没看到WebService啊,您的WebService是用WCF吗?
MiniFramework蝇量开发框架技术架构介绍|C/S开发框架
Winform三层c/s架构的软件系统有管理后台吗?
基于Winform三层架构+WCF+ORM模型的快速开发框架
Winform三层架构+WebService+权限管理系统软件开发平台(C#.NET开发)
WebService架构提交数据-生成仅包含修改了字段的数据表
C/S框架-WebService架构下分页查询数据解决方案
WebService架构 - 为什么需要Web服务?
C/S架构软件开发平台V6旗舰版 | 客户端运行环境需要的程序文件|C/S开发框架
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)-C/S开发框架
C/S桌面应用程序技术架构-Winform快速开发框架
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)
C#开发的MDI架构+Access数据库应用程序(增删改查)
C/S框架-WebService架构用户凭证(令牌)解决方案
基于WebService架构的C/S系统
架构图里没看到WebService啊,您的WebService是用WCF吗?
MiniFramework蝇量开发框架技术架构介绍|C/S开发框架
Winform三层c/s架构的软件系统有管理后台吗?
基于Winform三层架构+WCF+ORM模型的快速开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
