首页 > 代码库 > FluorineFx对于现有站点的配置
FluorineFx对于现有站点的配置
step 1:
新建一个FluorineFX网站,作为参考
step 2:
在现有网站添加FluorineFX网站的相关dll引用,并拷贝console.aspx和gateway.aspx至网站根目录(最好是在现有网站下重新建立这两个空白页面,然后拷贝代码过去,这样可以避免一些编译问题)
step 3:
修改web.config,在httpModules下添加节点
<add name="FluorineGateway" type="FluorineFx.FluorineGateway, FluorineFx" />
step 4:
打开console.aspx,看是否报错,如果不报错,开始添加FluorineFX类库
step 5:
网站添加FluorineFX类库的引用
step 5:
新建Flex项目,这里最好是将项目建立在网站目录下,因为需要的services-config.xml文件的路径是相对于mxml文件而言的;当然也可以采用绝对路径,类似"e:\MyFile\WEB-INF\FLEX\services-config.xml"这样,但在发布到正式服务器,你就得重新更改路径,所以还是采用相对路径比较好
然后设置Web application root与Web application URL,这里也要考虑到以后的发布,所以建议在本地建立一个和服务器对应网站一样的本地路径,然后以未来的域名为标准修改本地hosts文件,这样来分别设置这两个值,就做到了本地调试,发布到远程也不需要再修改这2个参数
然后设置Output folder,设置为网站的flash存放目录
这一步做完,你的网站目录大致是这样的
MySolution(解决方案)
--ServiceLibrary1(FluorineFX类库)
Sample.cs
--WEB(网站目录)
Console.aspx
Gateway.aspx
--FlashPage(存放flash文件的路径,下面列出的是发布需要的文件,源文件也在该目录)
<!-- 发布需要的文件 -->
AC_OETags.js
FlexSource.swf
FlexSource.html
playerProductInstall.swf
--WEB-INF
--Flex
services-config.xml
remoting-config.xml
services-config.xml
services-config.xml
--history
……
<!-- 源文件 -->
.project
.flexProperties
……
--src
FlexSource.mxml
step 6:
设置Flex项目属性Flex Compiler:
在-locale en_US后面加上-services "../services-config.xml"
这里的路径是相对于当前MXML的路径
step 7:
设置Flex项目属性Flex Server(出错才配置):
如果调试出错,错误信息类似:
faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://localhost:4110/as/Gateway.aspx‘"
那么代表Gateway.aspx这个目录没有正确对应,这个时候要检查Context root的配置是否正确
step 8:
编写测试程序
.net代码:
using System;using System.Collections.Generic;using System.Text;using FluorineFx;namespace ServiceLibrary8{ [RemotingService("Fluorine UserInfo service")] public class UserInfo { public string GetString(string name, int age) { return name + " is " + age + " years old"; } }}
flex代码:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Button x="212" y="126" label="Button" click="onClick()" /> <mx:Label id="lblResult" x="225" y="77" text="Label"/> <mx:RemoteObject id="myRemote" destination="fluorine" source="ServiceLibrary8.UserInfo" result="onResult(event)"> <mx:method name="GetString"> </mx:method> </mx:RemoteObject> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; private function onClick():void { this.myRemote.GetString("胡青牛",35); } private function onResult(event:ResultEvent):void { this.lblResult.text = event.result.toString(); } ]]> </mx:Script></mx:Application>
FluorineFx对于现有站点的配置