一、利用asp.net为Flex提供数据服务,flex为前端表现。 

二、flex通过三种方式四种代码实现来取数据。分别为 

    HttpService、 

WebService、 

RemoteObject、 

RemoteObjectAMF0。 

三、Project文件夹中的 

Vs2010Service提供HttpService、Webservice服务; 

        Vs2008RemoteObject提供RemoteObject服务。 

四、FluorineFx.NET+RemoteObjectAMF0文件为附加文件。 

五、<sessionState cookieless="AutoDetect"></sessionState> 

设置可兼容客户端禁用Cookie(要在Flex项目中传递回sessionid) 

六、asmx中使用session需要[WebMethod(EnableSession = true)] 如此设置。 


七、安装FluorineFx.NET+RemoteObjectAMF0文件下的setup(FluorineFx.NET).exe 

可以将项目模板集成到2005和2008中,不支持vs2010。 

八、使用七中的模板建立普通网站(FluorineFx ASP.NET Web Site)项目。 

将Console.aspx设为启动页,可进行类中的方法测试。 

九、使用RemoteObjectAMF0时将renaun_com_RemoteObjectAMF0.zip解压把src下的 

com文件夹整体复制到flex项目中; 

注意路径与mxml同路径; 

RemoteObjectAMF0.as中的override public function setCredentials( username:String, password:String):void)修改成override public function setCredentials( username:String, password:String,charset:String=null ):void) 

添加xmlns:renaun="com.renaun.rpc.*"到<mx:Application ……中。 

十、使用普通RemoteObject在mxml的同目录下添加services_config.xml文件内容如下: 




Xml代码  Asp.net与Flex交互测试记录_.net


  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.         <services-config>  
  3.             <services>  
  4.                 <service id="remoting-service"  
  5.                         class="flex.messaging.services.RemotingService"  
  6.                         messageTypes="flex.messaging.messages.RemotingMessage">  
  7.                     <destination id="fluorine">  
  8.                         <channels>  
  9.                             <channel ref="my-amf"/>  
  10.                         </channels>  
  11.                         <properties>  
  12.                             <source>*</source>  
  13.                         </properties>  
  14.                     </destination>  
  15.                 </service>  
  16.             </services>  
  17.             <channels>  
  18.                 <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">  
  19.                  <endpoint uri="http://localhost:12432/ReomteFlex/Gateway.aspx" class="flex.messaging.endpoints.AMFEndpoint"/>  
  20.                 </channel-definition>  
  21.             </channels>  
  22.         </services-config>  


注:http://localhost:12432/ReomteFlex/Gateway.aspx随项目启动的端口变化。 


之后,Flex项目右键-属性-Flex compiler-compiler参数(-locale en_US -services "services_config.xml") 


十一、以上功能使用的前提 

运行vs2008项目、vs2010项目、Flex项目; 

vs2008项目、vs2010项目启动后的端口与本实例建立时的端口不一致,请将变化后的端口相应改变Flex项目中即可。 

十二、Flex项目HttpService方式中的URL地址中有一个{sessionid}可以不要,只是为了测试而以,就安vs默认将sessionid放在Cookie即可。 

十三、整个流程为: 

输入用户名:njm 

密码:168 

登录成功返回当前sessionid 

之后可点击“带着身份访问”进行测试。 

最后点击“退出”。