2016-09-21 1 views
1

Мы создали надстройку панели задач Excel, которая взаимодействует с нашим сервером для получения данных из внешнего источника. За несколько вызовов серверу требуется больше минуты, чтобы ответить. Для таких вызовов надстройка Excel (которая работает в Mac Desktop Excel 2016) не получает никакого ответа (успех или сбой или тайм-аут), даже если сервер отправил его.Длинные HTTP-вызовы в приложениях TaskPane для клиентов Office для Mac

Примечание: Это происходит, только если надстройка работает в Mac Desktop Excel. В других системах и браузерах он работает нормально.

У клиента Office для Mac низкий порог ожидания? Если да, есть ли способ увеличить его? Есть ли другой способ обхода?

+0

Можете ли вы попытаться переформатировать вопрос без привязки к личным облачным вещам. Stackoverflow не может полагаться на ваши личные документы. – bibi

+0

Если вы попробуете тот же код в Safari, что там происходит? Давайте выделим, является ли это проблемой браузера Add-in или Mac. –

+0

@ MichaelZlatkovsky проверен на сафари Mac, он отлично работает без тайм-аутов. – Kauser

ответ

0

Управление WebKit, которое мы используем для размещения надстройки, не дает нам возможности переопределить тайм-аут по умолчанию для веб-запросов. Таймаут по умолчанию составляет 60 секунд на Mac. Если вам требуется запрос более 60 секунд, я подтвердил, что WebKit уважает свойство таймаута XMLHttpRequest на OSX 10.11.5. Этот запрос не будет тайм-аут в течение 120 секунд:

var xhr = new XMLHttpRequest(); 
var startDate = new Date(); 
xhr.open('GET', url, true); 

xhr.timeout = 120000; // time in milliseconds 

xhr.onload = function() { 
    console.log((new Date() - startDate) + " milliseconds to return."); 
}; 

xhr.ontimeout = function (e) { 
    console.error("error"); 
}; 

xhr.send(null); 

Обратите внимание, что это не работает, начиная с Mac OS Sierra 10.12.1. Кажется, в WebKit произошел регресс. Здесь открывается ошибка отслеживания: https://bugs.webkit.org/show_bug.cgi?id=163814.

+0

Мы ждали, что ошибка будет отмечена разрешенной и повторно протестирована, как только она будет отмечена как исправленная. Мы снова это увидим 10.11.16 Ошибка отмечена как фиксированная, но, похоже, она не применяется к тестируемой версии (10.11.6) – Kauser

+0

любого обновления по этому вопросу? – Kauser

+0

Я вижу, что он включен в https://trac.webkit.org/browser/branches/safari-602.3.12.0-branch, который был выпущен 13 декабря. 10.11.6 был выпущен до того, как исправление было зарегистрировано. Не могли бы вы обновиться до более поздней версии и попробовать? –