Прервать вызов RemoteObject - PullRequest
       33

Прервать вызов RemoteObject

2 голосов
/ 07 апреля 2011

Можно ли прервать вызов Flex RemoteObject?Я попробовал описанный ниже метод, но http-запрос все еще загружается в фоновом режиме:

var r:RemoteObject = new RemoteObject('<myDestination>');
r.source('myClass');
r.myMethod.addEventListener(ResultEvent.RESULT, myResponse);

r.myMethod(); // lets say this method takes 5 second to call

r.channelSet.disconnectAll(); // I thought this would abort the actual HTTP request but its still running

РЕДАКТИРОВАТЬ

Меня интересует освобождение браузеров.HTTP Pipeline, как в javascript, где вы можете использовать abort на XHR.

Ответы [ 2 ]

4 голосов
/ 07 апреля 2011

вы можете попробовать cancel() метод AbstractOperation .

r.getOperation("OperationName").cancel();

UPDATE:

Это проблема, я вызываю большой вызов, после чего пользователь покидает представление, поэтому мне больше не нужно ждать ответа. Сейчас http-запрос блокирует любые дальнейшие запросы. Есть какое-то решение для этого?

Вы должны выполнить другую операцию в службе на стороне сервера, чтобы остановить текущую службу. затем, когда вам нужно прервать текущую работающую службу, отмените операцию (на flex), затем вызовите службу остановки, вызвав службу остановки со стороны flex.

остановка текущего запущенного потока на стороне сервера, зависит от того, какую сторону сервера вы использовали.

1 голос
/ 07 апреля 2011

Обратите внимание, что при отмене операции это повлияет только на клиент Flex - ваши респонденты никогда не будут вызываться. На стороне сервера запрос выполняется нормально (потребляя ресурсы до конца), и вам придется написать собственный код, чтобы предотвратить это.

...