Прерывистые ошибки потока (# 2032) с Flex 3, IE и ASP.NET - PullRequest
0 голосов
/ 14 июня 2011

Мне приснился кошмар со следующей проблемой, которую я постарался представить как можно проще, описав простейший тестовый пример, в котором мне удалось воссоздать проблему.

Во-первых, у меня есть приложение ASP.NET.

Во-вторых, у меня есть клиент Flex, который использует HTTPService для доступа к ресурсам на веб-сайте ASP.NET.

сервисы доступны с кодом, подобным этому:

<mx:HTTPService id="rpcTest"
    url="{url}"
    result="onServiceResult(event)"
    method="GET"
    resultFormat="text"
    useProxy="false"
    showBusyCursor="true">      
</mx:HTTPService>   

В моем приложении Flex есть кнопка, которая делает это:

    private function doTest2():void
    {
        arrMsgs.removeAll();
        mgrTest1.loadData(someUrl);
        mgrTest2.loadData(someUrl);
        mgrTest3.loadData(someUrl);
    }

где каждый объект mgrTest * является компонентом MXML, обертывающим HTTPService, как описано выше:

Проблема в том, что нажатие этой кнопки может вызвать следующую ошибку:

[RPC Fault faultString = "ошибка HTTP-запроса" faultCode = "Server.Error.Request" faultDetail = "Ошибка: пузырьки [IOErrorEvent type =" ioError "= ложные отменяемые = ложные eventPhase = 2 text =" Ошибка # 2032: Ошибка потока. URL: http://localhost:50352/Home/About"]. URL: http://localhost:50352/Home/About"] на mx.rpc :: AbstractInvoker / http://www.adobe.com/2006/flex/mx/internal::faultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:220] в mx.rpc :: Responder / fault () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ Responder.as: 53] в mx.rpc :: AsyncRequest / fault () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ AsyncRequest.as: 103] в DirectHTTPMessageResponder / errorHandler () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channel \ DirectHTTPChannel.as: 362] на flash.events::EventDispatcher/dispatchEventFunction () на flash.events::EventDispatcher/dispatchEvent () на flash.net::URLLoader/onComplete()

Это прерывистое поведение действительно ставит меня в тупик!

Замечания:

1 - Проблема с перебоями. Это часто случается в первый раз, когда я нажимаю кнопку. Это почти никогда не повторяется, если я просто продолжаю нажимать кнопку (т. Е. Все службы работают). Если я подожду 5 минут или около того и снова нажму кнопку, то почти всегда снова происходит сбой.

2 - никогда не случится, если я позвоню только одной службе вместо трех.

3 - в Firefox такого не бывает

4 - Если я попытаюсь использовать Fiddler / Charles для проверки трафика на клиентском компьютере, этого никогда не произойдет.

5 - Кажется, не имеет значения, к какому типу ресурсов я обращаюсь на сайте ASP.NET. (aspx, ashx, xml)

6 - Кажется, не имеет значения, какой формат результата HTTPService установлен.

7 - Мне не удалось воссоздать проблему доступа к ресурсам с сайта, не принадлежащего ASP.NET.

Я боролся с этим в течение нескольких дней, и лучшее, что я придумал, - это использование таймера срабатывания каждые 5 секунд, который использует HTTPService для доступа к простому URL-адресу активности на сервере. По некоторым причинам это, кажется, помогает, но я не уверен, почему, или даже если я могу полагаться на это как решение.

Если кто-нибудь может помочь, я был бы очень благодарен. (У меня неловкая ситуация с потребителем, на которую мне нужно обратиться: - (

Спасибо

Гари Б

Пример заголовков:

HTTP / 1.1 200 OK Сервер: ASP.NET Development Server / 10.0.0.0 Дата: среда, 15 июня 2011 11:04:09 GMT X-AspNet-версия: 4.0.30319 X-AspNetMvc-версия: 3.0 Cache-Control: приватный Content-Type: text / html; кодировка = UTF-8 Длина контента: 921 Подключение: Закрыть

Я взял их у Fiddler, разумеется, когда я использую Fiddler, я никогда не получаю ошибку! Я предполагаю, что заголовки такие же, как если бы Fiddler не был там. Не уверен, смогу ли я добраться до заголовков в Flex.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...