開源項(xiàng)目fluorine(Flex與.net的AMF0網(wǎng)關(guān))使用注意事項(xiàng)
Posted on 2006-08-03 17:34 云自無心水自閑 閱讀(2640) 評論(4) 編輯 收藏 所屬分類: Flex 、Flex2開源項(xiàng)目fluorine(Flex與.net的AMF0網(wǎng)關(guān)、WebORB的替代者)使用注意事項(xiàng)
網(wǎng)站鏈接:http://fluorine.thesilentgroup.com/fluorine/index.html
Fluorine是與AmfPHP、OpenAmf類似的但是用于.net平臺(tái)的開源AMF網(wǎng)關(guān)。可以應(yīng)用在Flex2與.net(1.1與2.0)中。
通過使用Fluorine可以在Flex中直接調(diào)用.net程序中類的相應(yīng)方法,并且完成了Class Mapping。也就是說可以傳遞一個(gè)復(fù)雜對象作為參數(shù)。
通過我的試驗(yàn)發(fā)現(xiàn),.net返回的DataTable可以被正確地解析為AS3中的Array
下面是我在使用的發(fā)現(xiàn)的一些注意事項(xiàng):
Flex端:
1. 在VO的構(gòu)造函數(shù)中需要調(diào)用flash.net.registerClassAlias("com.ariaware.pizza.vo.OrderVO", OrderVO);
其中第一個(gè)參數(shù)是VO在.net端的Assemble全稱,即NameSpace+類名,第二個(gè)參數(shù)是ActionScript中的VO類
2. GateWayURL需要書寫正確,一般的形式是:var gatewayURL:String = "http://localhost/FluorinePizzaService/Gateway.aspx";
3. 在指定.net端類名和方法名的時(shí)候,注意大小寫一致 var pizzaService:AMF0Service = new AMF0Service ( gatewayURL, "pizzaService", null );
.net端
1. 注意VO中的字段名稱與Flex端VO類中的名稱一定要完全對應(yīng),否則就取不到對應(yīng)的值。
2. 需要在Web.config中添加下面幾行,緊跟在<system.web>后面就行了
?? ?<httpModules>
?? ??? ?<add name="FluorineGateway" type="com.TheSilentGroup.Fluorine.FluorineGateway, com.TheSilentGroup.Fluorine" />
? </httpModules>
?
3. 項(xiàng)目中需要引用com.TheSilentGroup.Fluorine這個(gè)Dll
4. 需要在項(xiàng)目中添加Gateway.aspx這樣一個(gè)空的Web窗體
使用時(shí):
1. 需要注意清除一下本地的Cookie,如果有一個(gè)名為.ASPXAUTH的Cookie如果不為空,會(huì)造成FormsAuthentication.Decrypt的錯(cuò)誤。
網(wǎng)站鏈接:http://fluorine.thesilentgroup.com/fluorine/index.html
Fluorine是與AmfPHP、OpenAmf類似的但是用于.net平臺(tái)的開源AMF網(wǎng)關(guān)。可以應(yīng)用在Flex2與.net(1.1與2.0)中。
通過使用Fluorine可以在Flex中直接調(diào)用.net程序中類的相應(yīng)方法,并且完成了Class Mapping。也就是說可以傳遞一個(gè)復(fù)雜對象作為參數(shù)。
通過我的試驗(yàn)發(fā)現(xiàn),.net返回的DataTable可以被正確地解析為AS3中的Array
下面是我在使用的發(fā)現(xiàn)的一些注意事項(xiàng):
Flex端:
1. 在VO的構(gòu)造函數(shù)中需要調(diào)用flash.net.registerClassAlias("com.ariaware.pizza.vo.OrderVO", OrderVO);
其中第一個(gè)參數(shù)是VO在.net端的Assemble全稱,即NameSpace+類名,第二個(gè)參數(shù)是ActionScript中的VO類
2. GateWayURL需要書寫正確,一般的形式是:var gatewayURL:String = "http://localhost/FluorinePizzaService/Gateway.aspx";
3. 在指定.net端類名和方法名的時(shí)候,注意大小寫一致 var pizzaService:AMF0Service = new AMF0Service ( gatewayURL, "pizzaService", null );
.net端
1. 注意VO中的字段名稱與Flex端VO類中的名稱一定要完全對應(yīng),否則就取不到對應(yīng)的值。
2. 需要在Web.config中添加下面幾行,緊跟在<system.web>后面就行了
?? ?<httpModules>
?? ??? ?<add name="FluorineGateway" type="com.TheSilentGroup.Fluorine.FluorineGateway, com.TheSilentGroup.Fluorine" />
? </httpModules>
?
3. 項(xiàng)目中需要引用com.TheSilentGroup.Fluorine這個(gè)Dll
4. 需要在項(xiàng)目中添加Gateway.aspx這樣一個(gè)空的Web窗體
使用時(shí):
1. 需要注意清除一下本地的Cookie,如果有一個(gè)名為.ASPXAUTH的Cookie如果不為空,會(huì)造成FormsAuthentication.Decrypt的錯(cuò)誤。