2015-06-08 2 views
2

Windows Server 2012 R2, IIS, VS2013 Я реализую ASP.NET-web api, когда я отлаживаю VS2013, он может открывать IE, и я могу правильно позвонить в свой веб-api , http://localhost:42508/api/log/111Почему веб-API возвращается 404 при развертывании в IIS

У меня есть «опубликовать» в VS2013 и развернуть все файлы до D:\api_publish.

Теперь я настроил IIS, и под "Default Web Site" добавлю приложение "serverapi". Теперь я установил «физический путь» в D:\api_publish\bin (где находится serverapi.dll). Затем я использую ниже URL, чтобы получить доступ к API, http://192.168.1.100/serverapi/api/log/111

Но вернуть 404 - File or directory not found.

UPDATE:

После того как я установить "Default Web Site" на другой путь к папке, и установите приложение "физический путь" до D:\api_publish\, Теперь, когда я получаю доступ к http://192.168.1.100/serverapi/api/log/111, он вернет ошибку HTTP 500.

+0

Каковы настройки в пуле приложений? Вы установили его для использования .Net 4? – DavidG

+0

Ваш URL-адрес выглядит некорректно. – BenjaminPaul

+3

Кроме того, физический путь должен быть, вероятно, выше уровня над папкой bin. – DavidG

ответ

4

Есть несколько проблем, которые я вижу здесь.

  1. Физический путь должен быть установлен в D:\api_publish, а не в папке с бункером.
  2. Проверьте, что пул приложений настроен на использование .NET CLR Version v4.

Как вы упомянули в комментариях, веб-сайт по умолчанию уже указывает на одну и ту же физическую папку. Вы можете:

  1. Переместите веб-сайт по умолчанию на другой путь.
  2. Используйте сайт по умолчанию, а не serverapi тот, который вы создали.
0

Вы должны использовать D:\api_publish как физический путь. Bin папка не может быть использована для этого.

Смежные вопросы