Flash呼叫 ASP.NET WebService
来源:互联网 发布:行知外国语学校怎么样 编辑:程序博客网 时间:2024/05/21 17:26
今天來分享如何使用 Flash 及 Android 呼叫 ASP.NET 的 WebService
WebService 的好處, 就是可以把專案所有要用到的方法, 寫在一隻程式裡, 方便日後管理。
傳接的格式, 都使用 JSON
.net 傳 WebService程式
[WebService(Namespace = "http://milkmidi.com/")] //注意這個 Namespace
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
private static JavaScriptSerializer serializer = new JavaScriptSerializer();
public WebService () {
}
[WebMethod]
public string getArray() {
return serializer.Serialize(new string[] { "A", "B", "c" });
}
[WebMethod]
public string getObject() {
var json = new
{
RS = "OK"
};
return serializer.Serialize(json);
}
/// <summary>
/// Client 端傳 JSON 格式, Server 端解
/// </summary>
[WebMethod]
public string setObject(string json) {
JsonObject obj = JsonConvert.Import(typeof(JsonObject), json) as JsonObject;
string name;
string age;
try {
name = obj["name"].ToString();
age = obj["age"].ToString();
}
catch (Exception) {
throw;
}
var rs = new
{
RS = "OK" ,
name = name,
age = age
};
return serializer.Serialize(rs);
}
}
flash端, 使用 FlexSDK 裡的 Webservice 類別
使用方法如下:
service.要呼叫的方法.send( 參數1, 參數2 );
/**
*/
package {
import com.adobe.serialization.json.JSON;
import flash.display.Sprite;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.LoadEvent;
import mx.rpc.soap.WebService;
import mx.utils.ObjectUtil;
public class MXWebService extends Sprite {
public var service:WebService = new WebService();
public function MXWebService() {
service.wsdl = "http://localhost:61490/webService/WebService.asmx?wsdl";
service.addEventListener(LoadEvent.LOAD, serviceLoadHandler);
service.loadWSDL();
//getArray();
//getObject();
setObject( JSON.encode( { name:"milkmidi", age:"30" } ) );
// 使用
// service.要呼叫的方法.send( 參數1, 參數2 );
}
private function getArray():void {
service.getArray.addEventListener(ResultEvent.RESULT, resultHandler);
service.getArray.addEventListener(FaultEvent.FAULT, faultHandler);
service.getArray.send();
}
private function getObject():void {
service.getObject.addEventListener(ResultEvent.RESULT, resultHandler);
service.getObject.addEventListener(FaultEvent.FAULT, faultHandler);
service.getObject.send();
}
private function setObject(json:String):void {
service.setObject.addEventListener(ResultEvent.RESULT, resultHandler);
service.setObject.addEventListener(FaultEvent.FAULT, faultHandler);
service.setObject.send(json);
}
private function faultHandler(e:FaultEvent):void {
trace(e);
}
private function resultHandler(e:ResultEvent):void {
trace(e);
trace(ObjectUtil.toString(e.result));
}
private function serviceLoadHandler(e:LoadEvent):void {
trace(e);
}
}
}
WebService 的好處, 就是可以把專案所有要用到的方法, 寫在一隻程式裡, 方便日後管理。
傳接的格式, 都使用 JSON
.net 傳 WebService程式
[WebService(Namespace = "http://milkmidi.com/")] //注意這個 Namespace
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
private static JavaScriptSerializer serializer = new JavaScriptSerializer();
public WebService () {
}
[WebMethod]
public string getArray() {
return serializer.Serialize(new string[] { "A", "B", "c" });
}
[WebMethod]
public string getObject() {
var json = new
{
RS = "OK"
};
return serializer.Serialize(json);
}
/// <summary>
/// Client 端傳 JSON 格式, Server 端解
/// </summary>
[WebMethod]
public string setObject(string json) {
JsonObject obj = JsonConvert.Import(typeof(JsonObject), json) as JsonObject;
string name;
string age;
try {
name = obj["name"].ToString();
age = obj["age"].ToString();
}
catch (Exception) {
throw;
}
var rs = new
{
RS = "OK" ,
name = name,
age = age
};
return serializer.Serialize(rs);
}
}
flash端, 使用 FlexSDK 裡的 Webservice 類別
使用方法如下:
service.要呼叫的方法.send( 參數1, 參數2 );
/**
*/
package {
import com.adobe.serialization.json.JSON;
import flash.display.Sprite;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.LoadEvent;
import mx.rpc.soap.WebService;
import mx.utils.ObjectUtil;
public class MXWebService extends Sprite {
public var service:WebService = new WebService();
public function MXWebService() {
service.wsdl = "http://localhost:61490/webService/WebService.asmx?wsdl";
service.addEventListener(LoadEvent.LOAD, serviceLoadHandler);
service.loadWSDL();
//getArray();
//getObject();
setObject( JSON.encode( { name:"milkmidi", age:"30" } ) );
// 使用
// service.要呼叫的方法.send( 參數1, 參數2 );
}
private function getArray():void {
service.getArray.addEventListener(ResultEvent.RESULT, resultHandler);
service.getArray.addEventListener(FaultEvent.FAULT, faultHandler);
service.getArray.send();
}
private function getObject():void {
service.getObject.addEventListener(ResultEvent.RESULT, resultHandler);
service.getObject.addEventListener(FaultEvent.FAULT, faultHandler);
service.getObject.send();
}
private function setObject(json:String):void {
service.setObject.addEventListener(ResultEvent.RESULT, resultHandler);
service.setObject.addEventListener(FaultEvent.FAULT, faultHandler);
service.setObject.send(json);
}
private function faultHandler(e:FaultEvent):void {
trace(e);
}
private function resultHandler(e:ResultEvent):void {
trace(e);
trace(ObjectUtil.toString(e.result));
}
private function serviceLoadHandler(e:LoadEvent):void {
trace(e);
}
}
}
- Flash呼叫 ASP.NET WebService
- 为flash构建asp.net Webservice
- 为flash构建asp.net Webservice
- asp.net控件-Flash
- Flash与ASP.NET
- ASP调用.net webservice
- asp.net WebService
- asp.net调用WebService
- asp.net webService服务
- Asp.net调用webservice
- Asp.net调用webservice
- ASP.NET发布WebService
- asp.net webservice session
- asp.net webService服务
- asp.net发布webservice
- ASP.NET中的WebService
- ASP.NET WebService天气预报
- ASP. NET中的webservice
- Python 解析XML文件
- 如何查看DB2数据库所用的端口号
- 如果有一天你没有了动力,可以看看
- ubuntu12上建立arm的交叉编译环境
- C++ sizeof 使用规则及陷阱分析
- Flash呼叫 ASP.NET WebService
- 一个简单通用的makefile
- python 正则表达式 概述及常用字符
- UVa 10673 - Play with Floor and Ceil
- Code Style
- C++的头文件和实现文件分别写什么
- Python 正则表达式操作指南
- java中:包、类、字段、方法命名规则
- php的file_set_contents导致的一个系统主线问题