【发布时间】:2012-03-15 19:04:53
【问题描述】:
我的问题是可以从同一个 Flex 应用程序连接到两个不同的 BlazeDS 服务器吗?我已经读过这个问题: Can a Flex client app connect to BlazeDS running on a different server? 但是,它似乎在讨论将 Flex 客户端连接到不同服务器上的 BlazeDS 的可能性,但不一定要连接到不同服务器上的另一个 BlazeDS。
我也读过这个问题: One Flex client connecting to two webapps using BlazeDS - Detected duplicate HTTP-based FlexSessions
在我尝试过的尝试中,我得到了上面第二个问题中提到的错误: 检测到重复的基于 HTTP 的 FlexSession,通常是由于远程主机禁用了会话 cookie。必须启用会话 cookie 才能正确管理客户端连接。
是否完全不可能将一个 Flex 应用程序连接到两个启用 BlazeDS 的服务器?我们希望能够拥有一个“通用功能”BlazeDS 服务器,供许多 Flex 应用程序使用,每个应用程序都有自己的本地 BlazeDS 服务器来实现自己的功能。
//编辑 我目前的做法:
在我的 mxml 文件中,我定义了一个这样的通道集:
<mx:ChannelSet id="dataService1Channel">
<mx:channels>
<mx:AMFChannel id="dataService1AmfChannel"
channelFault="dataService1Fault(event)"
url="http://localhost:7001/dataservice1/messagebroker/amf"/>
</mx:channels>
</mx:ChannelSet>
然后我在以下配置的数据服务中使用此通道集(当我使用 FlashBuilder 的“连接到 BlazeDS”功能时自动配置)
<dataservice1:DataService1Service id="dataService1Service"
fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"
channelSet="{dataService1Channel}"/>
其他数据服务的定义如下:
<dataservice2:DataService2Service id="dataService2Service"
fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"/>
调用有效,我可以获取数据,但我收到了我在 Flex 应用程序中以警报形式提到的警告。如果我能抑制那个警告,我会很高兴。
【问题讨论】:
标签: apache-flex blazeds