Flex扩展HTTPService简化调用接口定义

来源:软件水平考试    发布时间:2012-11-05    软件水平考试视频    评论

  Flex提供MXML来描述一个HTTPService,看上可以简化开发人员的工作,但实际上这种描述HTTPService的方式很容易产生重复代码导致代码不好维护和扩展。数据交互接口唯一定义对系统的维护非常有利,但基于AS定义HTTPService也是一件烦琐的事情;那如何做才能够达到方便地定义接口呢。
  接口定义
  以下是定义一个登陆的HTTPService
  public class ILogin extends HttpBase
  {
  public function ILogin(method:String="get", result:Function=null)
  {
  super("userlogin", method, result);
  }
  public var UserName:String;
  public var UserPWD:String;
  public var ImgSN:String;
  public var ImgKey:String;
  }
  看上非常简单,只需要继承HttpBase然后效需要提交的参数定义成Public成员即可以。对于构造函数参数下介绍HttpBase的时候讲述;对于这个接口又是怎样调用的呢。
  var send:ILogin =new ILogin(  "get",function(data:XML,error:Boolean){
  if(!error)
  {
  }
  });
  send.UserName= txtName.text;
  send.UserPWD=txtPWD.text;
  send.ImgKey= ic.ImageKey();
  send.ImgSN=ic.ImageSN();
  send.Open();
  如果并不想考虑太多处理,只关心登陆处理可以这样定义。
  var send:ILogin =new ILogin();
  send.UserName= txtName.text;
  send.UserPWD=txtPWD.text;
  send.ImgKey= ic.ImageKey();
  send.ImgSN=ic.ImageSN();
  send.Open();
  服务端代码
  对于服务端代码就可以根据自己需来处理,jsp,asp,asp.net,php都是一样只要接收http请求即可。为了便于理解把服务端代码顺便贴出来:
  [NClay.Web.Service.ActionMapper]
  public class UserLogin : ActionBase
  {
  protected override void OnGet()
  {
  ImageValidate.Check();
  User user= _UserService.Login(UserName, UserPWD);
  if(user ==null)
  throw new Exception("用户名或密码不正确!");
  if (user != null && !user.Enabled)
  throw new Exception("用户已经被系统禁用,请与管理员联系!");
  mLoginer = user;
  mIsLogin = mLoginer != null;
  FormsAuthentication.SetAuthCookie(Loginer.UserName, true);
  LoginID = Loginer.UserID;
  LoginName = Loginer.UserName;
  base.OnGet();
  }
  public string UserName
  {
  get;
  set;
  }

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答