使用WebOrb进行Flex Remoting的新手问题

时间:2010-10-19 21:54:16

标签: flex iis weborb remoteobject

由于Flashbuilder不支持基于https的WCF,我考虑使用weborb远程处理作为替代方案,但不确定flash如何知道weborb位置,如果它们位于不同的服务器上。查看目标,源字段,但在Flex中的remoteObject中找不到名为url的字段。有没有人做过类似的事情?

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但我想我还是会回答它。您可以通过WebORB将WCF服务公开给远程客户端(Flash,Flex)。 WebORB支持自主机和IIS托管的WCF服务。以下是两种模型说明的链接。

自托管: http://www.themidnightcoders.com/fileadmin/docs/dotnet/v4/guide/index.html?standalone_wcf_services.htm

IIS托管: http://www.themidnightcoders.com/fileadmin/docs/dotnet/v4/guide/index.html?iis_hosted_wcf_services.htm

这两份文件都解决了您的问题。以下是一种方法的示例:

从Flex / AIR调用自托管服务 Flex和AIR客户端可以使用RemoteObject API调用使用AMF端点的自托管WCF服务上的方法。有两种方法可用于调用自托管WCF服务。第一种方法需要较少的代码,但会对声明目标和通道(位于WEB-INF / flex中的文件)的配置文件产生依赖性。第二种方法对配置文件没有任何依赖性,但会产生一些额外的代码行。请考虑以下API的示例:

方法1(依赖于配置文件):

var remoteObject:RemoteObject = new RemoteObject(“GenericDestination”);
remoteObject.endpoint =“http:// localhost:8000 / WCFAMFExample / amf” remoteObject.GetQuote.addEventListener(ResultEvent.RESULT,gotResult); remoteObject.GetQuote.addEventListener(FaultEvent.FAULT,gotError); remoteObject.GetQuote(“name”);

端点URL唯一标识WCF服务。注意URL末尾的/ amf,它是AMF端点所必需的。使用上面演示的方法,RemoteObject构造函数中的目标名称是必需的,但不使用它。因此,要使代码生效,必须使用其他编译参数编译Flex / AIR应用程序:

-services“C:\ Program Files \ WebORB for .NET \ 4.0 \ web-inf \ flex \ _ services-config.xml”

我希望这会有所帮助。

ķ