0

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

4

1 回答 1

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("名称");

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

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

我希望这有帮助。

ķ

于 2011-03-23T21:14:28.033 回答