这次真是糟糕了……我们踏入了未知的领域。感到这次项目中新技术的采用有点不受我控制了……
我们组的人本来尝试从老师那里获得支持的次数就比其他组少,现在在页面上我们看来难以获得老师的技术支持了。
上个星期五我们进入了页面原型的设计和制作阶段。一开始组员们是装了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改造过来。
分享到:
相关推荐
Flex与ASP.net交互 Flex与ASP.net交互 Flex与ASP.net交互
Flex+ASP.NET+Web应用开发实战详解-源代码
Flex+ASP.NET Web应用开发实战详解.zip2
Flex4 与 Asp.net 通过WebService 进行交互
Flex+ASP.NET Web应用开发实战详解.z01
Flex(Flash)与.net交互教程详解,一步一步教你如何实现FLEX与.net的交互。
Flex与ASP.net交互.pdf
Flex与.NET交互。 第三方代码FluorineFx 传递一个简单的对象。 Flex前段不需要配置。
flex + asp.net web应用开发实战详解 code p3
flex + asp.net web应用开发实战详解 code p2
Flex与ASP.NET通过remoting交互实例
asp.net+flex 批量上传文件 包含 asp.net 和 flex 的工程源代码
flex多文件上传 asp.net实例 flex多文件上传 asp.net实例
ArcGIS Server开发指南--基于Flex和.NET源码每一部分
Flex与ASP.NET通过Remoting方式交互实例(原创) 开发工具: 1.Flex平台:Adobe Flex Builder 4.5 2..Net平台:Visual Studio .Net 2008 3.Remoting网关:Fluorine 4.Windows service 20003(XP也行) 5.IIS6.0(XPIIS也行...
Flex+ASP.NET_Web应用开发实战详解part2
可以在实践过程中掌握ASP.NET技术的部分使用方法,如对三层架构开发模式的熟悉、各种控件的使用、数据库的连接、登录注册功能逻辑代码的编写等,BootStrap前端框架前端样式框架的使用,包括通过栅格系统实现页面的...
[上传下载]Asp.net + Flex实现网络硬盘_flex_up.zip源码ASP.NET网站源码打包下载[上传下载]Asp.net + Flex实现网络硬盘_flex_up.zip源码ASP.NET网站源码打包下载[上传下载]Asp.net + Flex实现网络硬盘_flex_up.zip...
适合初学者的,FLEX与.NET之间如何数据交换
在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0中...