flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计

上传人:鲁** 文档编号:479190542 上传时间:2023-07-03 格式:DOC 页数:10 大小:231KB
返回 下载 相关 举报
flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计_第1页
第1页 / 共10页
flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计_第2页
第2页 / 共10页
flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计_第3页
第3页 / 共10页
flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计_第4页
第4页 / 共10页
flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计》由会员分享,可在线阅读,更多相关《flex中 使用ExtJs开发MIS系统基于ExtJs的MIS构架设计(10页珍藏版)》请在金锄头文库上搜索。

1、使用ExtJs开发MIS系统(1):基于ExtJs的MIS构架设计1,引言本系列文章的目标是讲述ExtJs开发MIS的一些设计思路和技巧,本 文假定你已经了解ExtJs,熟悉ExtJs中的主要类且有较强的Js编程能力,缺乏的仅仅是应用的技巧。关于ExtJs的基本内容,请参阅ExtJs官 方网站、Google和园里的相关文章。文中中一些技巧和方法不限于ExtJs,在很多基于富客户端框架例如SilverLight、Flex等的系 统设计中,都可以使用。 本系列主要包括以下内容: 1. 基于ExtJs的MIS构架设计。 2. Js的动态加载。 3. 使用数据库保存客户端状态。 4. 轮询。 5. 使

2、用Action抽象客户端操作。 6. 客户端MVC。最后,如果还有精力的话,再写一些ExtJs性能方面的心得。本文中的例子、代码等来源于真实的的项目,所以恕不能提供完整的代码下载,但会尽量详细的阐述设计思路,并给出关键的代码片段。 欢迎大家交流和指教。 2,客户端的“致富”之路在SilverLight、Flex等富客户端框架出现以前,系统中通常由服务器负责Html、Css等的生成,也就是负责显示逻辑,客户端与服务器端的交互是按下图的样子: 富客户端将显示逻辑从服务器端转移到客户端。这样服务器端仅仅负责业务逻辑的处理和运算,把处理的结果以纯数据的形式发送给客户端,然后客户端负责具体的显示和交互,

3、这个过程可以通过下面这个图直观的看出来: 以下对图进行一些说明: 1, 图中ExtJs即为客户端框架,当然也可以采用SilverLight等充当。 2, 服务器给出的响应Response,也可以使用JSON等格式,Google就有自己的数据串行化格式:Protocol Buffers。 3, 服务器端关注的仅仅是业务逻辑,而不是数据的表现形式。所以服务器端的响应通常是和客户端无关的,客户端也可以采用WinForm、SilverLight甚至是其他服务等处理端。 4, 理论上讲,我们可以仅仅和ExtJs打交道,而不需要关心具体Html、Css、JavaScript等,然而实际上是不可能的,复杂操

4、作的时候仍免不了 和DOM打交道,而ExtJs在这个时候也能开发提供很大便利。如果使用的SilverLight等其它的、基于浏览器端插件的框架,情况会好一些,但仍 然无法避免和DOM打交道。客户端框架任重而道远 3,两个世界的对话服务器和客户端通过Http协议进行交谈,对于一个典型的登录操作来说,客户端发送的Http请求如下(忽略Http头):POST /User.asmx/Login HTTP/1.1loginId=yuandong&password=mypassword 而服务器端给出的响应是: HTTP/1.1 200 OK WrongPassword对于列表类型的数据,服务器给出类似以

5、下的响应:HTTP/1.1 200 OK 为方便专家使用 2008/11/05 3Top 关于新系统密码获取问题 袁冬 为适应三校区办公 2008/10/16 1Top关于启用新版的说明 用户A 就像上一节提到的,以上请求和响应,完全是基于数据的,与显示方式无关。另一方面,以上类型的响应可以很容易的使用ExtJs的相关Reader类读取。当然使用JSON等方式传输数据也是可以的,ExtJs也提供了相关的读取类。4,不是WebService的WebService从服务器和客户端的通讯方式来看,只要服务器端能够在接收到请求后,给出符合格式的响应,就算OK。我们使用ASP.Net WebServic

6、e的方式来组织服务器端代码,但不使用SOAP协议,所以叫“不是WebService的WebService”,呵呵。例如,用户相关的操作包含同意用户协议、激活、登陆、退出登录等,我们组织为User.asmx,代码如下: 1: using 18: 19: namespace Srims.WebSite 20: 21: / 22: / 用户相关服务 23: / 24: WebService(Namespace = http:/ 25: WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) 26: ToolboxItem(false)

7、27: System.Web.Script.Services.ScriptService 28: public class UserWebService : WebServiceBase 29: 30: WebMethod 31: public void AgreeLicence(string loginID, string password) 32: 33: Database 34: .Experts 35: .Get(loginID, password) 36: .AgreeLicence(Database, UserIP); 37: 38: 39: WebMethod 40: publi

8、c void Active(string token) 41: 42: Response.WriteXmlHead(); 43: 44: Database 45: .Users 46: .Active(new Guid(token), UserIP) 47: .Show(Response); 48: 49: 50: WebMethod 51: public void Login(string loginID, string password) 52: 53: Response.WriteXmlHead(); 54: Database 55: .Users 56: .Login(loginID,

9、 password, UserIP) 57: .Show(Response); 58: 59: 60: WebMethod 61: public void Logout() 62: 63: GetUserLoginLog().Logout(Database); 64: 65: 66: WebMethod 67: public void GetExtClientState() 68: 69: Response.AppendXmlHeader(); 70: Response.Write(GetUser().ExtClientState); 71: 72: 73: WebMethod 74: pub

10、lic void SetExtClientState(string key, string value) 75: 76: GetUser().SetExtClientState(key, value, Database); 77: 78: 79: .csharpcode, .csharpcode pre font-size: small; color: black; font-family: consolas, Courier New, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ .csharpcod

11、e pre margin: 0em; .csharpcode .rem color: #008000; .csharpcode .kwrd color: #0000ff; .csharpcode .str color: #006080; .csharpcode .op color: #0000c0; .csharpcode .preproc color: #cc6633; .csharpcode .asp background-color: #ffff00; .csharpcode .html color: #800000; .csharpcode .attr color: #ff0000; .csharpcode .alt background-color: #f4f4f4; width: 100%; margin: 0em; .csharpcode .lnum color: #606060; 根据以上代码,我们可以使用类似http:/localhost/User.asmx/Login这 样的链接方式来访问用户的登陆操作。之所以不使用S

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号