`
RednaxelaFX
  • 浏览: 3052842 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

[开发日志] 尝试在NetOA中使用Flex 2,并利用Web Service与后台的ASP.NET交互

阅读更多
这次真是糟糕了……我们踏入了未知的领域。感到这次项目中新技术的采用有点不受我控制了……
我们组的人本来尝试从老师那里获得支持的次数就比其他组少,现在在页面上我们看来难以获得老师的技术支持了。

上个星期五我们进入了页面原型的设计和制作阶段。一开始组员们是装了DreamWeaver 8准备写HTML的页面原型。但是他们对HTML的熟悉度实在不够高,用DW8感到十分不顺手。我得说,在DW8那样有layout可用的WYSIWYG(所见即所得)编辑器里写HTML都觉得不顺手的话,那还是放弃的比较好。
我很着急,因为别的组的人虽然也未必对HTML有多熟悉,但还是在用DW硬啃。也有用VS2005直接写ASPX+MasterPage的方式的页面原型的组(好重……),无非就是想借助VS2005的Web表单设计器来减轻HTML带来的负担;也不愧是个歪招。那我们组怎么办呢?
我突然想起我们还有Flex 2可用。在星期六的时候把Flex Builder 2传给了组员们,让他们摸索和感受Flex,并用它来实现页面原型的快速构建。基于Eclipse的Flex Builder 2所提供的WYSIWYG设计器比DW的确实是强悍多了;没办法,背后的支持不一样嘛,FB2背后的Flex 2有内建的Layout manager,那比HTML里需要用table或者frame来解决排版问题的状况确实是好多了。组员们似乎很快就上手了,并且喜欢上了Flex 2。或许是跟DW8的使用体验相比反差太大了。

YLY做的短信管理系统中写短信的界面截图:


看他们做得那么有动力,我也就没再继续使用Dojo,而是也转到Flex上来制作我这部分的页面。到今天中午为止,我们的页面算是有了个原型。

但是有问题:我们的页面原型看上去感觉还不错(至少,相对于另外几组?),而且也已经有了许多功能,例如数据校验之类的Flex内建功能,问题是PX和YLY都提出要在后期继续使用Flex来搭建系统的表现层。
我犹豫了,心想如果组里熟悉HTML的只有我的话,到时候做页面就痛苦了;既然他们主动提出想用Flex,干脆就用吧。只不过,原本我预想的是用Dojo+ASP.NET或者直接用ASP.NET AJAX的方式来制作页面,Aspx+C#的开发至少跟JSP+Java非常像,我心里多少还能有个数;现在决定用Flex的话,很多事情都是我原本没做过的,难以估算风险。

然后咬咬牙,豁出去了。就用Flex好了。这下我们就从我相对熟悉一些的Ajax开发转换为RIA开发了。呜呜。
那么问题就转变为如何让Flex的前端与ASP.NET的后端整合起来。我知道的方法有4种(算是吧):
1、HTTPService
2、WebService
3、Remote Object
4、FDS (Flex Data Service)

其中后两种虽然是Flex的比较native的方式,我这次却不太想用,觉得它们离ASP.NET更远了。嗯不,其实是因为我完全没接触过,不会用,不想冒险。用HTTPService的话又得自己拼装/解析XML数据来序列化/反序列化需要传递的对象,嫌麻烦。所以决定采用WebService的方式来实现Flex与ASP.NET的整合。

决定好了就赶紧开工做点技术验证。这个验证能达到以下效果:
先启动WebService。我机上的VS2005在debug模式把这个Web Service project启动到了http://localhost:34270/Service1.asmx。
然后启动Flex端的“页面”:

按下按钮后,获取到WebService提供的"Hello World"字串,并显示在Flex端。


该项目包括以下三个文件:HelloWorldFlex.mxml,这是Flex端的“页面”;Service1.asmx.cs,这是ASP.NET端提供的Web Service;最后是Web.Config,架设WebService不可缺少的配置文件。文件内容如下:

HelloWorldFlex.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
    <mx:WebService id="hwService" 
        wsdl="http://localhost:34270/Service1.asmx?WSDL"
        useProxy="false">
        <mx:operation name="HelloWorld">
            <mx:request>
            </mx:request>
        </mx:operation>
    </mx:WebService>
    <mx:Script>
        <![CDATA[       
            private function clicked():void {
                hwService.HelloWorld.send();
            }
        ]]>
    </mx:Script>
    <mx:Panel x="10" y="10" width="313" height="200" layout="absolute"
        fontFamily="Times New Roman" fontSize="12" title="Hello world!">
        <mx:Label x="10" y="24" text="{hwService.HelloWorld.lastResult}" />
        <mx:Button x="10" y="53" label="get" click="clicked();"/>
    </mx:Panel> 
</mx:Application>


Service1.asmx.cs:
using System.Web.Services;
using System.Web.Services.Protocols;

namespace WebService1
{
    /// <summary>
    /// A hello world web service.
    /// </summary>
    // 这里的namespace是VS2005给生成的默认命名空间,实际使用时要该到自己的URI上
    [WebService( Namespace = "http://tempuri.org/" )]
    [WebServiceBinding( ConformsTo = WsiProfiles.BasicProfile1_1 )]
    public class Service1 : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWorld( )
        {
            return "Hello World";
        }
    }
}


Web.Config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <compilation debug="true" />
        <authentication mode="Windows" />
    </system.web>
</configuration>


========================================================================

在此基础上,明天会放个以Flex为前端的小型原型,把上次放的SampleWebSite改造过来。
分享到:
评论
2 楼 RednaxelaFX 2007-12-20  
sorry...这两天忙了些别的东西,等有空会把那东西和Flex这边的都放出来的。最近精力跟不上需求了啊……
1 楼 lwwin 2007-12-19  
今天还没有放啊……早知道就不通宵下载FLEX2B了……
另外那个好大………………

另外要装ASP.NET就是那个WEB DEV罢?不然没有ASP呢……
WSDL是啥,说说~关心是怎么用的……

相关推荐

    Flex 与asp.net 交互

    在Flex和Asp.net之间进行交互,通常我们会利用WebService作为桥梁。WebService是一种基于标准的、平台和语言无关的通信方式,它可以使得不同系统间的数据交换变得简单。在Flex4中,我们可以使用HTTPService或...

    Flex与ASP.net交互

    【Flex与ASP.NET交互】指的是在开发Web应用时,使用Adobe Flex前端技术和Microsoft ASP.NET后端技术进行数据通信的方式。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,而ASP.NET是.NET Framework的一部分...

    Flex+ASP.NET+Web应用开发实战详解-源代码

    Flex+ASP.NET+Web应用开发实战详解-源代码

    Flex(Flash)与.net交互教程

    Flex(Flash)与.NET交互教程主要讲解了如何在Flex(基于Flash技术的RIA开发工具)和.NET框架之间建立通信,实现客户端与服务器端的数据交换。本文将深入介绍这个过程,包括必要的软件安装、项目的创建以及代码实现...

    Flex与.NET交互

    Flex与.NET交互是一种常见的跨平台应用开发场景,它允许基于Adobe Flex的前端应用程序与Microsoft .NET框架后端服务进行通信。这种交互使得开发者能够利用Flex的富互联网应用(RIA)特性与.NET的强大后端功能相结合...

    flex + asp.net web应用开发实战详解 code p3

    在这一部分中,作者深入探讨了使用Adobe Flex与Microsoft ASP.NET技术构建高性能、交互性强的Web应用程序的方法。Flex是用于创建富互联网应用程序(RIA)的前端开发工具,而ASP.NET则提供了强大的后端服务器支持。...

    Flex+ASP.NET Web应用开发实战详解.zip2

    Flex+ASP.NET Web应用开发实战详解.zip2

    flex + asp.net web应用开发实战详解 code p2

    《Flex + ASP.NET Web应用开发实战详解 Code P2》是一本深入探讨如何使用Adobe Flex与Microsoft ASP.NET技术相结合,构建高效、交互性强的Web应用程序的书籍。本部分(P2)可能聚焦于实际代码实现和高级功能的应用。...

    FLEX与.NET交互

    总结来说,FLEX与.NET的交互涉及多个步骤,包括设置开发环境、编写.NET后台代码、使用WebORB作为通信桥梁,以及在FLEX中编写ActionScript调用.NET服务。这种交互方式为构建动态、交互性强的Web应用程序提供了可能。

    Flex+ASP.NET Web应用开发实战详解.z01

    Flex+ASP.NET Web应用开发实战详解.z01

    asp.net+flex批量上传文件

    本教程将重点讨论如何使用ASP.NET与Adobe Flex技术实现批量文件上传的功能。这两种技术的结合为开发人员提供了跨平台的灵活性,同时保证了前端的交互性和后端的强大处理能力。 首先,ASP.NET是微软公司推出的一种...

    Flex与ASP.NET通过remoting交互实例

    ### Flex与ASP.NET通过Remoting交互实例 #### 一、引言 随着互联网技术的发展,跨平台应用的需求日益增长。Flex作为一种强大的RIA(Rich Internet Application)开发工具,因其丰富的用户体验和高效的开发流程受到...

    Flex_FluorineFx_ASP.NET

    Flex_FluorineFx_ASP.NET 是一个技术组合,涉及到Adobe Flex、FluorineFx以及ASP.NET这三者在Web开发中的应用。这个主题主要关注如何利用这些技术创建富互联网应用程序(RIA)并实现客户端与服务器之间的高效通信。 ...

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

    在这些文件中,开发者定义了Flex UI组件,并通过RemoteObject或WebService组件与服务器端的ASP.NET类进行交互。RemoteObject使用AMF协议,提供了高效的数据传输和方法调用,而WebService组件则基于HTTP SOAP协议,...

    flex多文件上传 asp.net实例

    在IT行业中,文件上传功能是常见的用户交互需求之一,特别是在Web应用中。本文将深入探讨一个基于Flex前端和ASP.NET后端的多文件上传实例,旨在帮助开发者理解如何实现这样的功能。 首先,Flex是一种用于创建富...

    asp.net前台显示后台处理进度条

    在ASP.NET开发中,有时我们需要实现一个功能,即在后台执行耗时操作时,让前端用户能够看到处理的进度,从而提高用户体验。这种技术通常被称为后台处理进度条。本篇文章将详细讲解如何在ASP.NET中实现在前台显示后台...

    测试flex+asp.net

    在Flex与ASP.NET的集成中,Flex通常负责前端的用户交互和图形展示,利用其强大的图形渲染能力提供丰富的用户体验,而ASP.NET则在服务器端处理业务逻辑和数据管理。这种结合允许开发者利用Flex的动态性和ASP.NET的...

    Flex asp.net 流量统计

    2. 数据收集:在ASP.NET后台,可以利用IIS(Internet Information Services)或其他第三方库收集服务器日志,提取访问IP、访问时间、页面浏览量等流量数据。 3. 数据存储:收集到的数据通常会被存储在关系数据库...

Global site tag (gtag.js) - Google Analytics