Внутренняя ошибка сервера после публикации и таблицы не создаются - PullRequest
0 голосов
/ 09 апреля 2019

Эта проблема присутствует только на сервере, на котором я опубликовал. Локально у меня ноль проблем.

После публикации из VS2017 на веб-странице отображается ошибка Внутреннего сервера без дальнейшего описания на этой странице. Это не первый раз, когда я публиковался, поэтому этот выпуск очень случайный.

Я нахожусь в своем уме и совершенно ошарашен относительно того, что вызвало это. Тем более что до публикации я работал нормально. Хотя прошло довольно много времени с тех пор, как я публиковался в VS.

Вещи, которые я пробовал:

  • Перезапуск сервера
  • Восстановление IIS и обеспечение установки правильных версий ядра .net.
  • Больше перезапуска сервера
  • Обеспечение наличия правильных библиотек DLL (хотя это не первая публикация)
  • Проверка строк подключения в настройках приложения
  • Просмотр вывода stdoutLog
  • Просмотр журнала событий - ничего полезного не показывалось

Трассировка стека stdoutLog выглядит следующим образом:

info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile not available. Using 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\AutoGenKeys\S-1-5-82-1102471511-930544150-2645822985-2987586966-3557056008\DataProtection' as key repository and Windows DPAPI to encrypt keys at rest.
Application startup exception: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: providerInvariantName
   at Serenity.Data.DbProviderFactories.GetFactory(String providerInvariantName)
   at Serenity.Data.SqlConnections.GetFactory(String providerName)
   at Serenity.Data.ConnectionStringInfo.get_ProviderFactory()
   at ApexCore.DataMigrations.EnsureDatabase(String databaseKey) in DataMigrations.cs:line 40
   at ApexCore.DataMigrations.Initialize() in DataMigrations.cs:line 27
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
   at Microsoft.AspNetCore.Server.IISIntegration.IISSetupFilter.<>c__DisplayClass4_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
crit: Microsoft.AspNetCore.Hosting.Internal.WebHost[6]
      Application startup exception

Как вы можете видеть, это говорит о том, что в DataMigrations.cs появляются ошибки. Что не совсем имеет смысла, так как в течение значительного времени там не было никаких изменений. Область, где выбрасываются ошибки, находится за точкой, где создаются таблицы базы данных. Таким образом, это имело бы смысл, что миграции терпят неудачу, так как Таблицы не существуют.

Итак, подведем итог ... Сайт не будет загружаться после последней публикации. Таблицы не создаются в базе данных, как они должны быть. Строки подключения верны, и никаких ошибок не появляется, говоря о невозможности подключения.

Одна вещь, которую я хочу упомянуть, это то, что, просматривая IIS Manager в строке подключения, я заметил, что там больше ничего нет. Разве это не означает, что я буду автоматически заполняться тем, что есть в моем AppSettings?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

После большого краха, оказывается, когда я публикую режим выпуска, сайт не будет работать.Но если я опубликую в режиме отладки, все будет хорошо.Это временное исправление, но пока это нужно сделать.Я должен разобраться, почему режим публикации публикации нарушен.

0 голосов
/ 09 апреля 2019

Вы можете решить эту проблему, восстановив сервер iis в программах и функциях.
пожалуйста, прочитайте этот ответ. это может помочь вам
Указанный аргумент находится вне диапазона допустимых значений. Имя параметра: сайт

...