aspnetcore с угловой ошибкой NodeInvocationException: тайм-аут вызова узла через 60000 мс

Я использую yo generator-aspnetcore-spaкак только я запускаю приложение, у меня возникает проблема

Произошло необработанное исключение при обработке запроса.

NodeInvocationException: истекло время ожидания вызова узла после 60000 мс. Вы можете изменить продолжительность тайм-аута, установив свойство InvocationTimeoutMilliseconds в NodeServicesOptions.

Первый шаг отладки - убедиться, что ваша функция Node.js всегда вызывает предоставленный обратный вызов (или генерирует исключение синхронно), даже если она обнаруживает ошибку. В противном случае..NET-код не может знать, что он завершен или потерпел неудачу. Microsoft.AspNetCore.NodeServices.HostingModels.OutOfProcessNodeInstance + d__13.MoveNext ()

NodeInvocationException: истекло время ожидания вызова узла после 60000 мс. Вы можете изменить продолжительность тайм-аута, установив свойство InvocationTimeoutMilliseconds в NodeServicesOptions. Первый шаг отладки - убедиться, что ваша функция Node.js всегда вызывает предоставленный обратный вызов (или генерирует исключение синхронно), даже если она обнаруживает ошибку. В противном случае..NET-код не может знать, что он завершен или потерпел неудачу.

и красный цвет на этой линии

AspNetCore._Views_Home_Index_cshtml+d__31.MoveNext() в Index.cshtml + ViewData["Title"] = "Домашняя страница";

вот так выглядит мой package.json

{
  "name": "WebApplicationBasic",
  "version": "0.0.0",
  "dependencies": {
    "@angular/animations": "^4.3.0",
    "@angular/common": "^4.3.0",
    "@angular/compiler": "^4.3.0",
    "@angular/core": "^4.3.0",
    "@angular/forms": "^4.3.0",
    "@angular/http": "^4.3.0",
    "@angular/platform-browser": "^4.3.0",
    "@angular/platform-browser-dynamic": "^4.3.0",
    "@angular/platform-server": "^4.3.0",
    "@angular/router": "^4.3.0",
    "@types/node": "^7.0.38",
    "angular2-template-loader": "^0.6.2",
    "aspnet-prerendering": "^2.0.6",
    "aspnet-webpack": "^1.0.29",
    "awesome-typescript-loader": "^3.2.1",
    "bootstrap": "^3.3.7",
    "css": "^2.2.1",
    "css-loader": "^0.28.4",
    "es6-shim": "^0.35.3",
    "event-source-polyfill": "0.0.9",
    "expose-loader": "^0.7.3",
    "extract-text-webpack-plugin": "^2.1.2",
    "file-loader": "^0.11.2",
    "html-loader": "^0.4.5",
    "isomorphic-fetch": "^2.2.1",
    "jquery": "^3.2.1",
    "json-loader": "^0.5.4",
    "ng-snotify": "^2.0.3",
    "ngx-cookie": "^1.0.0",
    "preboot": "^4.5.2",
    "raw-loader": "^0.5.1",
    "reflect-metadata": "^0.1.10",
    "rxjs": "^5.4.2",
    "style-loader": "^0.17.0",
    "to-string-loader": "^1.1.5",
    "typescript": "^2.4.1",
    "url-loader": "^0.5.9",
    "webpack": "^2.7.0",
    "webpack-hot-middleware": "^2.18.2",
    "webpack-merge": "^4.1.0",
    "zone.js": "^0.8.14"
  }
}

мое приложение работало нормально, и я не знаю, в чем причина этой проблемы

4 ответа

Решение

Проблема была в модуле pre-рендеринга aspnet, это выглядит так в View>>Home>>Index.csHtml

<app asp-prerender-module="ClientApp/dist/main-server">Loading...</app>

Затем, когда я удалил его, приложение работает нормально

<app>Loading...</app>

но, конечно, этим не выполняется рендеринг на стороне сервера, поэтому, когда я закончил разработку приложения, я записал эту команду в корневой каталог моего проекта.

webpack --config webpack.config.vendor.js
webpack

и восстановил

<app asp-prerender-module="ClientApp/dist/main-server">Loading...</app>

и работает как надо:)

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

Ключ: WEBSITE_NODE_DEFAULT_VERSION
Значение: 6.9.1

Я полагаю, вы также можете добавить его в ваш appsetting.json или web.config.

У меня такая же проблема. Это может быть проблема с локальной версией узла.

Я установил локальную версию nodejs на 5.4.3 и смог запустить приложение, попробуйте проверить версию своего узла, используя это на консоли / терминале:

node -v

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

Также есть похожая проблема здесь: NodeInvocationException: попытка подключения к узлу истекла

Не совсем ответ на этот вопрос, но у меня была такая же проблема, и я пришел сюда.

У меня установлен пакет Windows HPC, и это означает, что node.exe в моем PATH была командой узла HPC Windows, а не NodeJS node.exe стороннего производителя.

Это означало, что я получил тайм-аут, так как он запускал команду узла HPC вместо использования NodeJS для запуска веб-пакета. Чтобы исправить это, я удалил путь из переменной среды PATH и перезапустил Visual Studio. Я мог бы изменить порядок путей или переименовать один из node.exe, но я не использую команды HPC из командной строки, только из кода.

Обсуждение конфликта в NodeJS https://github.com/nodejs/node-v0.x-archive/issues/7773

Другие вопросы по тегам