`
hereson
  • 浏览: 1454476 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

AMF3 + AS 3.0 + ASP.NET 完整配置过程及源文件

    博客分类:
  • fms2
阅读更多

AMF3 + AS 3.0 + ASP.NET 完整配置过程及源文件

 

还在用 AMF0?  还在用 XML传数据? 还在抱怨 byteArray 要转换成 base64 ? 还在苦恼 fms 生成图片的高消耗和低效率?

// fms 2 其他都很好 我就说这一点不好 跟贴的别乱来!

 

跟我用超帅的 AMF3 吧! 

// 这次转牛角尖  找资料: 历时4 天  浏览过的贴子:无数  找到范例数:0  // 盛怒之下  决定自己写!!!

 

我使用的是  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 搜索吧 

 

 

 

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  吧!!!

分享到:
评论

相关推荐

    跟我一步步搭建+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服装网站as3.0源代码

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

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

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

    AS3.0中文版API

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

    整合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是早期...

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

    【Flex + FluorineFx + ASP.NET 搭建指南】 在现代Web开发中,富互联网应用程序(RIA)已经成为一种趋势,提供了丰富的用户体验。本文将详细介绍如何使用Flex作为前端开发工具,通过FluorineFx作为中间件来连接后端...

    flex+asp.net+access

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

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

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

    测试flex+asp.net

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

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

    本项目聚焦于如何利用XML技术将ASP.NET和ActionScript 3.0这两种不同的编程语言进行深度集成,以创建更高效、交互性更强的Web应用程序。 ASP.NET是Microsoft .NET框架的一部分,用于构建动态网站、Web应用程序和Web...

    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框架,构建了一个功能强大的网络硬盘系统。以下将详细解析这个项目的重点技术和知识点...

    AMF.NET 文件极小的开源AMF解析库

    在实际应用中,AMF.NET可以被集成到ASP.NET、WCF或其他.NET服务框架中,创建高性能的Web服务。例如,你可以构建一个Flex应用程序,利用AMF.NET在后台与.NET Web服务进行快速、低延迟的数据交换,实现动态内容加载、...

Global site tag (gtag.js) - Google Analytics