Ошибка тайм-аута при получении узла при вызове файла JS с использованием Microsoft.AspNetCore.NodeServices - PullRequest
0 голосов
/ 16 мая 2018

Название Ошибка истечения времени ожидания вызова узла при вызове файла JS с использованием Microsoft.AspNetCore.NodeServices

Функциональное воздействие Я разработал приложение, которое использует NodeServices, и развернул его в Azure, используя следующую статью: https://code.msdn.microsoft.com/How-to-export-HTML-to-PDF-c5afd0ce

Работает локально, но не на развернутой версии. Ошибка истечения времени ожидания узла:

The Node invocation timed out after 60000ms.
You can change the timeout duration by setting the InvocationTimeoutMilliseconds property on NodeServicesOptions.
The first debugging step is to ensure that your Node.js function always invokes the supplied callback (or throws an exception synchronously), even if it encounters an error. Otherwise, the .NET code has no way to know that it is finished or has failed. | Source: Microsoft.AspNetCore.NodeServices

Ожидаемый результат PDF должен быть создан.

Фактический результат Ошибка истечения времени ожидания NodeService

Но по-прежнему выдается ошибка Timeout в развернутой версии. Любая помощь будет оценена. Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Вы можете указать время ожидания при добавлении NodeServices в сервисный контейнер. Вы также можете установить там ILogger, который может помочь вам отладить проблему:

services.AddNodeServices(options =>
{
    options.InvocationTimeoutMilliseconds = TimeSpan.FromMinutes(5).Milliseconds;
    options.NodeInstanceOutputLogger = log;

});
0 голосов
/ 16 мая 2018

PhantomJS не поддерживается в веб-приложении Azure. Больше информации здесь .
В итоге я использовал Azure Web App для контейнеров .

Вот мой пост о том, как это сделать в ASP.NET Core с использованием NodeServices на докере: Ссылка .
(Он использует другой пакет узла).

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