SmarInvoke——实现C#与Flex方便的互调(sliverlight以外的另一选择)
一C#调用flex1:创建C#需要调用的swf 1.1:打开flexBuilder创建名称为DemoCs1的web application并导入SmartInvoke2009-12-2.0.swc库 如下图:
.2:在DemoCs1项目中创建test.Hello类,以便C#的调用如下图 :
1.3:在DemoCs1.mxml初始化smartinvoke并引用test.Hello类,如下图:
2:用C#编写winform程序调用前面生成的swf
?2.1:打开vs创建名为Demo1的winform程序,然后引用进cn.smartinvoke2009-12-1.0.dll库,如下图:
2.2:从工具箱中将flash active拖到form1中,如下图:?
2.3:在Form的load事件中创建flash active接口的包装类FlashContainer的对象如下图:
2.4:获得刚才生成的swf的绝对路径,在C#加载此swf到axShockwaveFlash,如下图
?
?
2.5:创建与flex中test.Hello服务类对应的代理类test.Hello
?2.6:调用FlashContainer LoadComplete代理,当flash加载完毕后调用loadComplete方法,实现对flex的 test.Hello类的调用
二:flex调用C#
1:创建C#的test.CsServer服务类,提供hello服务方法,代码如下:
?
?
?
?
?
?