Flash/Flex在通过FluorineFx调用.Net中的方法时,同样也会遇到认证与授权问题,即: “是否随便一个阿猫阿狗都能来调用我的方法?”或者可以理解为:“调用我的方法前是否需要登录?” , FluorineFx"/> </httpModules> <! ,fluorineFx在Cookie中仅保存了用户名、密码以及一些唯一性标识,官方提供的认证演示中虽然有用IsInRole来判断,但其实是没用的)。 当然这个问题,您可以修改FluorineFx的源码来解决,这点工作就留给大家了。 不过令人高兴的是,反过来却可以! 示例源代码下载: http://cid-2959920b8267aaca.office.live.com/self.aspx/Flash/FluorineFx^_Demo^_04.rar
单纯从客户端上来看,FluorineFx的RSO跟FMS中的RSO几乎没什么不同(参见Flash/Flex学习笔记(15):FMS 3.5之远程共享对象(Remote Shared Object) ), 只不过FMS是Adobe的收费产品,FluorineFx是用于.Net平台的开源免费产品 . 服务端代码: 1、为了防止客户端随意连接或创建任何属性的RSO,服务端可以定义一个用于安全处理的cs文件 using System.Collections; using FluorineFx.Messaging.Api ; using FluorineFx.Messaging.Api; using FluorineFx.Messaging.Api.SO; namespace _02_SharedObject { 示例源代码下载:http://cid-2959920b8267aaca.office.live.com/self.aspx/Flash/FluorineFx^_02.rar
Bēniaǒk兄弟的Flex与.NET互操作(六):Flex和.NET协同开发利器FluorineFx 是基于vs2008 + flex builder3的,不知道什么原因,我在vs2010 + flash 总是不成功(也许晚上应该自我检讨下人品鸟),于是有了这一篇东东,算是对 vs2010/flash builder4环境下的一个补充吧 .net的服务端依照参照silverlight获取外部数据的另一种选择:FluorineFx 示例源代码下载: http://cid-2959920b8267aaca.office.live.com/self.aspx/Flash/FluorineFx.rar
FluorineFx自带的示例都不错,就是有点不简洁,下面的代码基本上已经最简版了(环境vs2010) 1、先创建一个Web Application,然后添加FluorineFx以及FluorineFx.ServiceBrowser 的引用 这二个程序集的默认位置在: C:\Program Files (x86)\FluorineFx\Bin\net\3.5\FluorineFx.dll C:\Program Files (x86) \FluorineFx\Bin\net\3.5\FluorineFx.ServiceBrowser.dll 2、然后添加一个DataService.cs类,写好.net的服务端代码 using System.Data --添加fluorinefx配置节信息--> <sectionGroup name="<em>fluorinefx</em>"> </sectionGroup> </configSections> <fluorinefx> <settings
(一个开源的免费项目),并查看它的演示示例时,意外发现FluorineFx也支持silverlight! (详见百度百科FluorineFX http://baike.baidu.com/view/1654458.htm? , FluorineFx"/> </httpModules> 2.4 添加对ServiceLib项目的引用 3、最后创建一个silverlight项目,添加FluorineFx.dll引用,命名为 的关键代码如下: using FluorineFx; using FluorineFx.AMF3; using FluorineFx.Messaging.Api.Service; using FluorineFx.Net 列,FluorineFx所用的时间是最小的(当然多测试几次,结果稍有不同,但经过我的多次观察,FluorineFx所花的时间始终是最小的) 综合比较下来:FluorineFx传输的数量小,传输时间短,整体效率是不错的
如果不考虑安全因素(指任何人都可连接FluorineFx进行视频录制,而不需要登录认证),其实服务端不用写一行代码,仅需要在apps目录下建一个子目录当作应用,以及在services-config.xml 中配置一下rtmp的Channel即可 下面这段flash客户端的as3代码,是从FluorineFx官方的Flash AS2示例修改而来的(当然:只一个示例,细节还有很多可优化的地方) package
):FluorineFx是做为一个HttpModule而嵌入asp.net网站中的,如果长时间不动,页面与服务器之间的session过期可能会导致FluorineFx与客户端的连接也一并关闭。 另外在使用中还发现一个现象:通常我习惯于把FluorineFx的应用站点单独以二级域名的形式放在一台独立服务器上,然后在主站点上嵌入flash来访问FluorineFx服务端,我发现如果FluorineFx 但此时,如果人为在游览器里访问一下FluorineFx站点中的任何一个aspx页面或ashx时,再运行flash就能连接上了。 换言之,如果一直没有任何人以http方式请求FluorineFx站点,对默认1935端口的监听貌似会进入睡眠状态,必须要人为访问一次,方能激活。 解决办法:在嵌入flash的页面中以iframe方式随便嵌入一个FluorineFx二级站点中的任何页面即可。这样页面打开时,iframe 相当于请求了FluorineFx站点,将其激活。
在前一篇“FluorineFx:远程共享对象(Remote SharedObjects)”里,已经大致知道了在FluorineFX中如何使用RSO,这一篇将利用RSO完成一个简单的文本聊天室。 服务端代码: using System.Collections; using FluorineFx.Messaging.Api; using FluorineFx.Messaging.Api.SO; ; using FluorineFx.Messaging.Api; using FluorineFx.Messaging.Api.SO; using System.Collections; using txtSend.text = ""; } } } } 示例源文件下载:http://cid-2959920b8267aaca.office.live.com/self.aspx/Flash/FluorineFx ^_Demo^_03.rar 另:flex环境下fluorineFx的rso应用,建议大家同步参看beniao兄的文章Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote
虽然flex跟.net交互的首选是FluorineFx,但是如果在某些特定情况下(比如服务端是现成的,不允许修改,或者服务端开发方不懂FluorineFx为何物),这时webService还是挺有用的。