Ошибка 500, когда web.config присутствует в microsoft / aspnet: 4.6.2 Контейнер Windows - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь получить свой сайт ASP.NET в контейнере Windows (его пока нельзя перенести в .NET Core).Когда я только что скопировал свое приложение в inetpub \ wwwroot, я получил ошибку 500. Я даже пытался установить подробные ошибки и все в файле web.config, но все еще получал «ту же самую» ошибку.

Я пытался удалить файлыи комментировал мой web.config до тех пор, пока он снова не начал работать безуспешно.

Так что я понял, что даже с пустым web.config сайт не работает.Прямо сейчас у меня есть один файл default.html, который печатает «Hello World!», Все работает, пока я не добавлю пустой web.config в этот каталог.

Это сводит меня с ума!

1) Есть ли способ увидеть реальную ошибку или лучшее описание того, что происходит внутри контейнера?Я безуспешно пытался с помощью средства просмотра событий (Get-EventLog) и журналов IIS.

2) Что, черт возьми, происходит?Это даже не связано с моей проблемой?Может быть, сайт с пустым web.config всегда терпит неудачу: (

EDIT : Мой Dockerfile не имеет значения, так как я просто запускаю контейнер microsoft / aspnet: 4.6.2 image. docker run -d -p 8888:80 microsoft/aspnet:4.6.2
Как только контейнер запускается, я получаю:
docker exec -it mycontainer powershell
Оказавшись внутри, я создал файл default.html следующим образом:
echo "Hello World!" > default.html
Если я тогда пойдуна http://localhost:8888/default.html Я вижу правильное сообщение Hello World. После этого я создаю фиктивный файл web.config со следующим:
echo "" > web.config
И когда я обновляю файл default.html, я получаюОшибка 500: (

1 Ответ

0 голосов
/ 10 декабря 2018

Web.config должен содержать configuration элемент.Проблема не зависит от докера.https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/configuration-element

...