2015-11-20 2 views
-1

После публикации моего веб-приложения MVC5 на моем сервере IIS (индивидуальные учетные записи пользователей) кажется, что URL-адрес обращается некорректно.URL-адреса маршрутов в IIS7 MVC 5 (однопользовательское приложение)

Во время отладки это будет, например, http://localhost:1234/api/Account/UserInfo?=XXXXX Отладка работает просто отлично. Единственная проблема возникает после того, как я опубликовал ее через свой сервер IIS7.

После публикации и использования консоли Google Chrome, похоже, что страница запрашивает ресурс на mydomainname.com/api/Account/UserInfo?=XXXX вместо mydomainname.com/WEBAPPLICATIONNAME/api/Account/UserInfo? = XXXX

Мое лучшее предположение - изменить URL-адреса в /Scripts/app/app.datamodel.js, но это просто вызовет больше проблем с синтаксическим разбором.

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

ответ

0

Похоже, вы используете относительный путь, например "/ api/Account/UserInfo". Вместо этого я рекомендую вам использовать @Url.Content("/api/Account/UserInfo"). Это позволит решить вашу проблему

Объяснение

В локальной системе, когда мы запустим приложение в WebDev сервере он никогда не подпапку (например, WEBAPPLICATIONNAME) поэтому вы относительно работы путь правильно. но когда вы размещаете свое приложение в IIS на веб-сайте по умолчанию на другом новом веб-сайте/в виртуальной папке (например, «WEBAPPLICATIONNAME»), «/ api/Account/UserInfo» возвращается к веб-сайту по умолчанию, потому что для запуска «/». @Url.Content или @Url.Action обязательно добавьте имя виртуального каталога, поэтому измените свой путь на «/ WEBAPPLICATIONNAME/api/Account/UserInfo» в IIS.

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