我们有一个flex应用程序连接到处理身份验证的代理服务器。如果身份验证超时,代理服务器将返回json格式的错误字符串。我想做的是检查每个URLRequest响应并检查是否有错误消息并将其显示在flex客户端中,然后重定向回登录屏幕。
所以我想知道是否有可能以全局方式为所有URLRequests创建一个事件监听器。无需搜索项目并为每个URLRequest添加一些方法。如果可能的话,有什么想法吗?
答案 0 :(得分:2)
除非您只使用一项服务,否则无法设置全局URLRequest处理程序。如果我是你,我会更多地考虑使用委托来正确构建应用程序,并始终通过整个应用程序中使用的特定服务来检查结果。
答案 1 :(得分:2)
J_A_X有一些很好的建议,但我会更进一步。让我根据您提供的有限信息做出一些假设。
尽管您在Adobe示例中看到了他们的新服务生成代码,但直接从Views调用服务是非常糟糕的做法,部分原因是您看到的问题很严重 - 您可以使用大量的副本整个应用程序中都堆满了相同的服务代码。
取决于您的应用程序交织得如何紧密(相信我,我继承了一些非常讨厌的东西,所以我知道这说起来容易做起来难得多),您可能会发现最简单的方法是删除所有这些服务并通过让所有视图调度一个冒泡事件来替换它们,这些事件会被捕获到顶层。在顶层,您可以通过调用一个服务实例来响应该事件,该实例再次在一个位置处理。
您可能会也可能不会选择将该单个服务包装在委托中,但是一旦您以一种将服务与您的视图分离的方式对您的应用程序进行了检测,您就可以随时做出该选择。
答案 2 :(得分:0)
您是否能够扩展该类并在对象的构造函数中添加事件侦听器?我不喜欢这种方法,但它可以工作。
您只需要搜索/替换整个项目。