`

AMF3 + AS 3.0 + ASP.NET 完整配置过程

 
阅读更多

我使用的是  Fluorine Gateway      
这个软件的优点是 绝对免费 且无任何限制 数据类型支持面广
从这个网址下载fluorine.exe 并安装它
官网: http://fluorine.thesilentgroup.com/index.htm


第一步
打开    Microsoft Visual Web Developer 2005 速成版  (我用免费的 其他版本都一样)
新建一个 网站  选择模板[A project for creating a Fluorine enabled ASP.NET Web application]
命名为 “fluorine”  // 必需用这个! 等你懂了你再换其他 别给我捣乱

在 fluorines 网站的“解决方案资源管理器”里面你会看到

1) bin 文件夹  里面就是  Fluorine的核心    支持 AMF3和 AMF0 的 DLL 动态连接库
2) Gateway.aspx  这是默认的    不用改  里面也差不多是空的 它的存在仅仅是为了  建立一个 AS3的 NetConnection
3) web.config和 WEB-INF文件夹里的那两个文件  不是我们菜鸟能看得懂的 但是是关键和必须的 也不需要你改
4) App_Code 文件夹 我们只需要弄这个   把我们自己写的 *.cs文件放到这里 就可以  用NetConnection.call
来实现里面的 function 了

第二步

加代码    C# 的    放在 App_Code 文件夹 里面

文件名 { "KitaRemoting.cs" } 别乱改哦! 等你懂了你再换其他 !

using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using com.TheSilentGroup.Fluorine;
using com.TheSilentGroup.Fluorine.AMF3;
//你要使用其他AS3的数据类型就在那个 Bin/com.TheSilentGroup.Fluorine.dll 文件里面慢慢找吧!
namespace fluorine
{
    /// <summary>
    /// Fluorine sample service.
    /// </summary>
    [RemotingService("Fluorine sample service")]
    public static class KitaRemoting
    {
        public static string Echo(string text)
        {
            return "Gateway echo: " + text;
        }
        public static String SaveImage(ByteArray byteArray, String fileName)
        {
            uint length = byteArray.Length;
            byte[] bytes = new byte[length];
            byteArray.ReadBytes(bytes, 0, length);
            MemoryStream ms = new MemoryStream(bytes);
            System.Drawing.Image img = System.Drawing.Bitmap.FromStream(ms);
            Bitmap bmp = new Bitmap(img);
            //To save the image to a file
            MemoryStream tempStream = new MemoryStream();
            bmp.Save(tempStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath(fileName), FileMode.Create);
            tempStream.WriteTo(fs);
            tempStream.Close();
            fs.Close();
            tempStream.Dispose();
            fs.Dispose();
            //GC.Collect();
            return "Gateway SaveImage Finish!";
        }
    }
}


第三步

再做一个  as3 文件   你有安装 com.adobe.images.JPGEncoder这个类吗  在一个叫corelib-.90的压缩包里面  上 google code 搜索吧  不懂安装的朋友  直接 QQ  :289435275

import flash.net.NetConnection;
import com.adobe.images.JPGEncoder;
var nc:NetConnection = new NetConnection();
nc.client = nc;
nc.objectEncoding = flash.net.ObjectEncoding.AMF3;
// 没错 你用的是  flash.net.ObjectEncoding.AMF3   帅吧!
nc.connect ("http://localhost/fluorine/Gateway.aspx");
bt.addEventListener (MouseEvent.CLICK,clickHandler);
function clickHandler (evt:MouseEvent)
{
    var time:uint =  getTimer();
    var bmd:BitmapData = new BitmapData(400,400,false,0xFFFFFFFF);
    bmd.draw (pic);
    
    var JPG:JPGEncoder = new JPGEncoder(30);
    var bary:ByteArray = JPG.encode(bmd);
    var name:String = "a.jpg";
    nc.call ("fluorine.KitaRemoting.SaveImage",new Responder(Result,Status),bary,name);
    bmd.dispose ();
    trace("Excute Time: "+String(getTimer()-time));
}
function Result (re:String)
{
    trace (re);
    trace ("成功!");
}
function Status (re:Boolean)
{
    trace ("错误!");
}


flash文件 你放在哪里都行  
测试 看看 !~


运行时间  Excute Time: 937
图片大小  400*400  20kb

实际flash 至 C# 数据传输长度  16065    取自 [Microsoft Visual Web Developer 2005 ] 调试结果 二进制数组长度


摆脱 虚伪的 base64  踢走AMF0  吧!!!

<!--++ plugin_code qcomic begin-->

 

分享到:
评论

相关推荐

    跟我一步步搭建+Flex+FluorineFx+ASP.NET整理.pdf

    搭建Flex+FluorineFx+ASP.NET的整合开发环境是一项技术性的工作,涉及多个关键组件的安装和配置。以下是一步步的详细说明: 一、安装软件与配置 1. **MyEclipse 6.0.1**:这是一款集成开发环境(IDE),用于Java、...

    Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0

    在IT行业中,构建高效、可扩展的企业级应用是一项复杂任务,而"Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0"这个主题涵盖了前端开发、后端架构以及数据持久化等多个关键领域。下面将详细介绍这些技术及其在...

    flex+EJB3.0(GDS通讯)

    本文将深入探讨“flex+EJB3.0(GDS通讯)”这一主题,结合实际开发实例,阐述如何利用AMF3协议在JBOSS应用服务器上实现两者的整合。 Flex是Adobe公司推出的一种富互联网应用程序(RIA)开发框架,主要用于构建具有...

    跟我一步步搭建+Flex+FluorineFx+ASP[1].NET.doc

    搭建Flex+FluorineFx+ASP.NET是一个过程,用于创建富互联网应用程序(RIA),它结合了Adobe Flex的用户界面构建能力、FluorineFx的AMF通信库以及ASP.NET后端服务来实现高效的数据交换。以下是详细的步骤: 一、安装...

    flash+xml+asp.net留言板

    3. 集成FluorineFX,使得Flash和ASP.NET之间能够通信,比如通过AMF(Action Message Format)协议传递数据。 4. 设计和实施XML数据库结构,存储用户的留言信息,如用户名、留言内容、时间戳等。 5. 测试和调试整个...

    flex4+spring3.0+Hibernate2.5实例代码

    Flex4、Spring3.0和Hibernate2.5是三个在Web开发中广泛应用的技术框架,它们分别专注于用户界面、服务层管理和持久化数据。这个实例代码是将这三个框架整合在一起,用于实现一个班级管理系统的功能,包括学生信息的...

    整合Flash Builder4.0+MyEclipse 8.6+BlazeDS+Sping 3.0+Hibernate3.3+MySQL5.5+Tomcat+JDK1.6.docx

    这篇文档涉及的是一个基于Java和Flex的Web应用开发集成环境的搭建过程,主要涵盖了以下知识点: ...整个过程展示了如何将这些技术组合在一起,形成一个完整的开发流程,从数据库设计到前端展示,再到后端逻辑的实现。

    整合Flash Builder4.0+MyEclipse 8.6+BlazeDS+Sping 3.0+Hibernate3.3+MySQL5.5+Tomcat+JDK1.6.pdf

    该文档涉及的知识点主要集中在搭建一个完整的Java Web开发环境,其中包括多个关键组件的集成与配置。下面是详细说明: 1. **JDK1.6**: JDK (Java Development Kit) 是开发和运行Java应用程序的基础,版本1.6是早期...

    flash服装网站as3.0源代码

    《深入解析:基于AS3.0的Flash服装网站源代码》 在当今互联网时代,服装电商网站已经成为行业不可或缺的一部分,而使用Flash技术构建的服装网站以其动态、交互性强的特点受到许多设计师和开发者的青睐。本篇文章将...

    AS3.0中文版API

    AS3.0中文版API是ActionScript 3.0的官方中文文档,是开发者学习和使用Flex框架不可或缺的参考资料。ActionScript 3.0是一种基于ECMAScript规范的编程语言,主要用于开发Adobe Flash Player和Adobe AIR平台上的交互...

    跟我一步步搭建 Flex+FluorineFx+ASP.NET

    不过对于ASP.NET的Flex开发,可以跳过此步骤直接安装Flex Builder 3。 2. **安装Flex Builder 3 Eclipse插件** - Flex Builder 3是Adobe提供的专门用于Flex开发的IDE,它基于Eclipse,提供了一流的Flex和...

    Myeclipse10搭建Flex4.6+spring3.0+mybatis3.2架构

    总结,这个例子展示了如何在Myeclipse10环境中集成Flex4.6、Spring3.0和(潜在的)Mybatis3.2,构建一个能够进行远程调用、处理数据和展示结果的完整应用程序。这样的架构是现代企业级应用的常见模式,能够充分利用...

    flex+asp.net+access

    在开发Web应用程序时,组合Flex、ASP.NET和Access可以创建出功能强大且用户友好的交互式应用。这个项目,"Flex+ASP.NET+Access = GuestBook",显然是一款基于这三个技术构建的在线留言簿系统。下面我们将深入探讨...

    测试flex+asp.net

    在文件名列表“flexdotnet”中,我们可以推测可能包含的资源有Flex和ASP.NET的示例代码、配置文件、教程文档或者是一个完整的项目案例。这些资源对于学习如何将Flex与ASP.NET集成,以及解决两者之间通信问题的开发者...

    一个通过XML技术实现 ASP.NET 与ActionScript 3.0紧密集成的程序代码

    XML文档可以在服务器端(ASP.NET)生成,并通过HTTP或AMF(Action Message Format)协议传递到客户端(ActionScript 3.0)。在服务器端,C#可以用来处理业务逻辑,生成XML响应,这些响应包含了客户端所需的数据。在...

    Fluorine网关与ASP.NET类交互 项目代码实现

    Fluorine网关是一款强大的框架,用于在Flex客户端与ASP.NET服务器之间建立通信桥梁,它使得基于ActionScript 3的Flex应用能够无缝地与.NET服务进行数据交换和调用远程方法。本项目代码实现了一个完整的示例,帮助...

    AS3.0基础教程

    3. **命名空间和包**:AS3.0引入了命名空间和包的概念,允许开发者更好地组织和管理代码。例如,`flash.display` 包含与显示相关的类,如`Sprite`和`MovieClip`。 4. **事件驱动编程**:AS3.0中的事件模型基于事件...

    ASP.NET源码——[上传下载]Asp.net + Flex实现网络硬盘.zip

    本项目"ASP.NET源码——[上传下载]Asp.net + Flex实现网络硬盘.zip"提供了一个完整的解决方案,通过结合Asp.net技术和Adobe Flex框架,构建了一个功能强大的网络硬盘系统。以下将详细解析这个项目的重点技术和知识点...

    ArcGIS+API+for+Flex+3.0离线帮助文档

    **ArcGIS API for Flex 3.0 离线帮助文档** ArcGIS API for Flex 是Esri公司开发的一款用于构建Web GIS应用的开发框架,它允许开发者使用Adobe Flex技术来创建交互式的地理信息系统。Flex是一种基于ActionScript ...

Global site tag (gtag.js) - Google Analytics