• 风格:
网站首页
新闻资讯
文章中心
影视录音
歌曲音乐
精美图片
资源下载
在线商城
网页特效
用户信息
综合导航
  • 流行第一线
  • 流行第一线
  • 站内新闻
  • 临沂新闻
  • 新浪新闻
  • 站内风彩
  • 美女帅哥
  • 桌面图片
  • 节目录音
  • 影片采集
  • 精彩推荐
  • 国语歌曲
  • 网络歌曲
  • 情感故事
  • 忘忧秀豆
  • 娱乐幽默
  • 技术文章
  • 流行第一线
  • 流行第一线
  • 留言本站
  • 博客日志
  • 会员娱乐
  • 动漫频道
  • 酷站推荐
  • 友情连接
  • 程序讨论
您的位置:首页 >> 文章频道 >> Flex与asp.net的WebService通讯---流行第一线
文章阅读

Flex与asp.net的WebService通讯---流行第一线

作者:佚名 | 来源:流行第一线 | 时间:2008-04-21 | 阅读权限:游客身份 | 会员币:0

本篇随笔主要是关于Flex与asp.net的WebService通讯,其中利用了SoapHeader。(如果你对SoapHeader不了解,可以参考WebService开发(一) 如何使用Soap头)。由此可见WebService在跨平台方面的优势。

  ASP.NET的WebService代码

using System;
using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

[WebService(Namespace = "http://davidfan.cnblogs.com")]//名称空间应该和Flex中定义相同[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class Service : System.Web.Services.WebService

{
public ValidateSoapHeader header;

[WebMethod]

[SoapHeader("header")]
public string HelloWorld()
{
if (header == null)
{
return "请提供验证信息.";

}

else
{
if (header.Name == "admin" && header.Password == "admin")

{

if (header.ExDate < DateTime.Now)

{
return "帐号过期";

}
else

{
return "验证成功";

}
}

else

{
return "用户名或密码错误";
}
}

}

}

/**//// <summary>
/// 继承自SoapHeader的自定义类

/// </summary>
public class ValidateSoapHeader : System.Web.Services.Protocols.SoapHeader
{
public ValidateSoapHeader()
{

}

public ValidateSoapHeader(string name, string password, DateTime dt)
{

this.name = name;

this.password = password;

this.exDate = dt;
}

private string name;

public string Name

{

get { return name; }

set { name = value; }

}

private string password;

public stringName

{

get { return password; }
set { password = value; }

}

private DateTime exDate;

public DateTime ExDate

{
get { return exDate; }

set { exDate = value; }

}
}

  Flex的mxml、as代码

  mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontFamily="simsun" fontSize="12">
<mx:Script>
<![CDATA[
import WebServiceUtility.Info;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.SOAPHeader;
private function SendRequest():void
{
var content:Info = new Info();
content.Name = UserName.text;
content.Password = PassWord.text;
content.ExDate = new Date(2010, 3, 10);
//关键在QName的构造函数
//第一个参数要和.Net的WebService的名称空间相同
//第二个参数要和.Net的WebService的继承自SoapHeader的自定义类名称相同
var qname:QName = new QName("http://davidfan.cnblogs.com","ValidateSoapHeader");
var header:SOAPHeader = new SOAPHeader(qname,content);
ws.clearHeaders();
ws.addHeader(header);
ws.HelloWorld();
}
private function OnResult(event:ResultEvent):void{
Result.text= event.result.toString();
}
private function OnFault(event:FaultEvent):void{
Result.text= event.message.toString();
}cb
]]>
</mx:Script>
<mx:WebService id="ws" wsdl=http://localhost:9200/WebSite2/Service.asmx?WSDL
result="OnResult(event)" fault="OnFault(event)"/>
<mx:TextInput id="UserName" x="98" y="94"/>
<mx:TextInput id="PassWord" x="98" y="124"/>
<mx:Label x="29" y="98" text="用户名:"/>
<mx:Label x="29" y="128" text="密 码:"/>
<mx:Button x="98" y="184" label="调用" click="SendRequest()"/>
<mx:Label x="29" y="156" text="结 果:"/>
<mx:TextInput id="Result" x="98" y="154"/>
</mx:Application>

  as

package WebServiceUtility
{
public class Info{
//该类名称可以和.Net中的ValidateSoapHeader不同
//但字段要对应拼写相同
public var Name:String;
public var Password:String;
public var ExDate:Date;
}
}
提交会员:admin采集 | 浏览次数:
【 复制 】 【 打印 】

>>相关资讯:

上篇文章:简单熟悉掌握ASP的语法和变量---流行第一线   下篇文章:学习用ASP编写加密和解密类---流行第一线
查看网友评论 网友评论
以下网友评论只代表其个人观点,不代表悠久网的观点或立场
用户登陆

加载中……
相关文章
  • 没有相关文章
关于我们 | 广告合作 | 免责申明 | 程序帮助 | 网站地图 | 留言本站 | 友情连接 | 后台管理
Copyright © 2008 - 2009 HxCms.Net www.am873.com Inc. All Rights Reserved.
HxCms Ver8.0  鲁ICP备07004488号