2016-09-21 9 views
1

外部ソースからデータを取得するためにサーバーとやりとりするExcelタスクペインアドインを構築しました。いくつかのコールでは、サーバーは応答するのに1分以上かかります。このような呼び出しでは、Excelのアドイン(MacデスクトップExcel 2016で実行)は、サーバーが送信したとしても、応答(成功または失敗またはタイムアウト)を受け取りません。Office for MacのTaskPaneアプリケーションで長いHTTP呼び出しが失敗するクライアント

注:これは、アドインがMac Desktop Excelで実行されている場合にのみ発生します。他のシステムやブラウザでは正常に動作します。

Macクライアント用のOfficeのタイムアウトのしきい値は低くなっていますか。もしそうなら、それを増やす方法はありますか? 他の回避策はありますか?

+0

パーソナルクラウドにリンクせずに質問を再フォーマットできますか? Stackoverflowはあなたの個人的なドキュメントに依存することはできません。 – bibi

+0

Safariで同じコードを試してみると、どうなりますか?それがアドインかMacのブラウザの問題かどうかを分かりましょう。 –

+0

@MichaelZlatkovskyはMac Safariでテストしましたが、タイムアウトなしで正常に動作します。 – Kauser

答えて

0

アドインをホストするために使用するWebKitコントロールは、Web要求の既定のタイムアウトをオーバーライドする手段を提供しません。デフォルトのタイムアウトはMacでは60秒です。 60秒以上のリクエストが必要な場合は、WebKitがOSX 10.11.5のXMLHttpRequestのタイムアウトプロパティを尊重していることを確認しました。この要求は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

私はそれが12月13日にリリースされたhttps://trac.webkit.org/browser/branches/safari-602.3.12.0-branchに含まれていることを確認します。修正がチェックインされる前に10.11.6がリリースされました。それ以降のバージョンにアップデートして試すことができますか? –

関連する問題