【发布时间】:2010-10-19 21:54:15
【问题描述】:
由于 Flashbuilder 不支持基于 https 的 WCF,我正在考虑使用 weborb 远程处理作为替代方案,但不确定如果它们位于不同的服务器上,flash 将如何知道 weborb 位置。查看了目标、源字段,但在 Flex 的 remoteObject 中并没有真正找到一个名为 url 的字段。有没有人做过类似的事情?
【问题讨论】:
标签: apache-flex iis weborb remoteobject
由于 Flashbuilder 不支持基于 https 的 WCF,我正在考虑使用 weborb 远程处理作为替代方案,但不确定如果它们位于不同的服务器上,flash 将如何知道 weborb 位置。查看了目标、源字段,但在 Flex 的 remoteObject 中并没有真正找到一个名为 url 的字段。有没有人做过类似的事情?
【问题讨论】:
标签: apache-flex iis weborb remoteobject
我知道这是一个老问题,但我还是想回答一下。您可以通过 WebORB 向远程客户端(Flash、Flex)公开您的 WCF 服务。 WebORB 支持自托管和 IIS 托管的 WCF 服务。以下是两种型号的说明链接。
这两份文件都解决了您的问题。以下是一种方法的示例:
从 Flex/AIR 调用自托管服务 Flex 和 AIR 客户端可以使用 RemoteObject API 调用使用 AMF 端点的自托管 WCF 服务上的方法。调用自托管 WCF 服务有两种方法。第一种方法需要较少的代码,但会创建对声明目的地和通道的配置文件(位于 WEB-INF/flex 中的文件)的依赖。第二种方法对配置文件没有任何依赖关系,但会产生一些额外的代码行。考虑下面的 API 示例:
方法一(依赖配置文件):
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"
我希望这会有所帮助。
K
【讨论】: