У меня есть веб-API ASP .Net Core 2.1, который я развернул на новом сервере, который мы недавно приобрели (под управлением Windows Server 2016 Standard). API отлично работает как на моем компьютере разработки, так и на нашем старом сервере (под управлением Windows Server 2012 R2). Но на этом новом сервере я получаю такую ошибку:
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
Я помню, как год назад я изо всех сил пытался запустить его на нашем старом сервере. В конце концов я заставил его работать, но я не могу вспомнить, что делал! Есть ли способ получить дополнительную информацию об этой ошибке? Я проверил Windows Event Viewer на новом сервере, но там ничего нет. Кроме того, хотя в моем web.config указано stdoutLogEnabled = "true", журнал не создается, и я создал \ logs \ stdout, чтобы папки действительно существовали ...
У меня также есть app.UseDeveloperExceptionPage (); в моем Startup.cs, но я не получаю больше информации, чем простая внутренняя ошибка сервера 500.
Вот как выглядит мой файл web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\PropWorx.API.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: cfa62a1f-c5f6-43f8-bcbe-04068e40b803-->
У меня также установлен Microsoft .NET Core 2.1.1 - Windows Server Hosting и установлена Microsoft .NET Core Runtime - 2.1.1 (как x86, так и x64). .
Как я уже сказал, он работает на моем компьютере разработки и на нашем старом сервере, так что это, должно быть, проблема конфигурации на новом сервере. Есть ли способ получить более подробную информацию об ошибке, кроме 500 Internal Server Error? Спасибо...
dotnet.exe MyApp.dll
. Посмотрите, нет ли там ошибок. В этом случае вы сможете увидеть трассировку стека в окне командной строки. Если нет, то это проблема IIS. Предполагая, что вы правильно установили пакет хостинга, убедитесь, что вы либо перезапустили впоследствии сервер, либо полностью перезапустили службу IIS (iisreset
недостаточно). - person Chris Pratt   schedule 11.09.2018