回《【开源】EnterpriseFrameWork框架系列文章索引

EnterpriseFrameWork框架实例源代码下载: 实例下载

前面几章已完成EnterpriseFrameWork框架开发系统的三种模式,Web模式、Winform模式以及WCF模式,本章主要针对最后一种模式WebServices模式开发系统对外接口程序的过程;

说明一下为什么框架要把WebService的集成进来,主要还是利用WebService跨平台的优势用来开发外部系统的接口是非常方便的;不管第三方是java平台、还是c++系统都是统一的接口方式;另外如果我们系统功能全用Webservice模式来开发行不行,行肯定行但我觉得还是太麻烦了,让整个系统的维护部署都异常变扭;

还是用书籍的管理作实例,把对书籍的增、删、改、查功能封装成Webservice服务提供为其他系统调用;大家看下面开发过程中顺便带着个问题思考一下,就是框架中的这种开发Webservice的这种方式与net平时开发Webservice项目有什么区别?

本文要点:

1.Webservice版界面效果

2.Webservice接口开发步骤

3.代码文件调用关系图

4.常见问题汇总

1.我们先看一下实现后的Webservice接口效果,请注意红色框中的访问地址;

解决方案目录,其中红色部分为新增的文件

2.开发步骤:

1)新建Webservice服务,bookWebService.cs

2)把Books.dll部署到EFWWeb项目Bin目录中并启动

3)再浏览器地址中输入http://localhost/bookWebService.asmx

其中实体(Book.cs)、Dao(BookDao.cs)在前面已经实现,bookWebService里只要调用就行了;

bookWebService.cs文件

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web.Services;
using Books.Dao;
using Books.Entity;
using EFWCoreLib.CoreFrame.BusinessArchitecture; namespace Books.WebServices
{
[WebService]
public class bookWebService : AbstractService
{
[WebMethod(EnableSession = true)]
public void SaveBook(Book book)
{
//绑定数据库操作对象
book.BindDb(oleDb, GetUnityContainer());
//数据更新到数据库表中
book.save();
} [WebMethod(EnableSession = true)]
public DataTable SearchBook(string schar, int flag)
{
BookDao bdao = NewDao<BookDao>();
//调用Dao返回数据
DataTable dt = bdao.GetBooks(schar, flag);
return dt;
}
}
}

bookWebService对象必须继承框架中的AbstractService对象,还有就是类名和方法上必须加上自定义标签[WebService]和[WebMethod(EnableSession = true)],这两个标签本来就是是.NetFrameWork中WebService的标签;

至此开发工作已经完成了,后面就是编译调试与启动运行起来了;现在我们回顾一下最开始提出的一个问题,“框架中的这种开发Webservice的这种方式与net平时开发Webservice项目有什么区别?”,我们再看看Net一般怎么开发Webservice服务;

一般Webservice服务都是两个文件BookService.asmx和BookService.asmx.cs文件,我们不讨论这种方式内部技术实现等问题,只是两种文件这种方式在项目过程中非常不方便;

1)这种方式必须新增加至少一个WebService项目,而上面EnterpriseFrameWork框架中的bookWebService.cs可以和后台项目放一起,就跟普通的cs文件一样;这样另一个一个好处就是相同业务的代码可以放在一起,没必要建太多项目分散代码文件的连贯性;我就觉得一个系统的项目越少越好,至少相同业务的代码一定要放在一个项目中;

2)这种方式服务发布太麻烦了,必须先人工发布生成文件,然后拷贝部署到IIS中才能使用;而EnterpriseFrameWork框架中的Webservice完全没这么多步骤,编译生成dll文件,然后拷贝到IIS项目中的Bin目录就可以使用了;对我们这种小团队没有专门的版本管理人员,又要实现项目的快速迭代开发,这种方式能节约大量的工作;

      本章暂不讨论这种Webservice方式的技术实现,后面的章节会详解讲解,敬请期待!

3.最后我们看下图,整理一下以上代码文件的调用关系

回《【开源】EnterpriseFrameWork框架系列文章索引

EnterpriseFrameWork框架实例源代码下载: 实例下载

最新文章

  1. gulp自动化构建工具
  2. DeviceOne接受了DevStore的专访
  3. 关于Intent ,Task, Activity的理解
  4. WPF 多语言实现
  5. mui记录
  6. leetcode 67
  7. Retrofit所有知识场景汇总
  8. 使用 Async 和 Await 的异步编程
  9. css滚动条样式
  10. MySQL 删除数据表
  11. UC编程:输入输出重定向(标准IO)
  12. 设置ubuntu 默认不启动图形界面
  13. zepto学习之路--源代码提取
  14. Memcached安装使用教程及常见问题
  15. Sass控制命令及函数知识整理
  16. Lesson 2-4(字典)
  17. 1.4分布式-通讯协议TCP/IP
  18. Hadoop EC 踩坑 :data block 缺失导致的 HDFS 传输速率下降
  19. nginx 1.14.0 配置部署 thinkphp 5.1
  20. linux磁盘分区详解【转】

热门文章

  1. List泛型的应用
  2. Swift 开发语法
  3. 字符型设备驱动程序-first-printf以及点亮LED灯(二)
  4. ubuntu snmp Error: unknown payload OID
  5. Redhat7.2 ----team网卡绑定
  6. Order by排序
  7. Spring boot Mybatis整合构建Rest服务(超细版)
  8. Flume(1)-概述与组成架构
  9. Linux下安装spf13-vim
  10. linux3.4.2内核之块设备驱动