Нет стилей / изображений в приложении asp.Net MVC 2 - PullRequest
8 голосов
/ 21 апреля 2010

Привет

У меня небольшая проблема с моим приложением ASP MVC. На моем локальном сервере разработки все работает просто отлично, но когда я пытаюсь опубликовать приложение на сервере IIS 7.0, оно просто отображает простые страницы без каких-либо стилей / разметок / изображений.

Я помещаю все эти вещи в подпапку / Content /, но когда я пытаюсь получить доступ к этой папке на производственном сервере, она просто возвращает мне ошибку 404. Не найдено.

Я настроил сервер IIS на .Net 4.0 и следовал инструкциям по развертыванию здесь: http://www.asp.net/learn/mvc/tutorial-08-cs.aspx

Кажется, что все представления / контроллеры / классы работают нормально, единственное, что не работает, это подпапка содержимого, и я не могу понять, почему.

Кто-нибудь получил предложение, что я мог упустить из виду, или кто-нибудь знает эту проблему?

Ответы [ 6 ]

10 голосов
/ 12 октября 2010

У меня была такая же проблема, но я нашел причину, по которой она принудительно аутентифицировалась в папке «Содержание».

Когда пользователь еще не вошел в систему, он классифицируется как анонимная аутентификация. В IIS7 (это то, что я использую, предположив, что это то же самое в IIS6), вам нужно открыть окно аутентификации в представлении функций. Затем отредактируйте анонимную аутентификацию, чтобы использовать вашу идентификацию пула приложений или идентификацию по умолчанию, просто убедитесь, что у пользователя есть разрешения на чтение в этой папке.

Это исправило это для меня, надеюсь, это работает для вас.

3 голосов
/ 13 декабря 2011

Ну, я добавил IIS_IUSR s в каталог проекта и обнаружил ту же проблему:
CSS не загружается и ничего из папки содержимого.
Но это решило проблему Unable to start debugging on the web server.
Затем я добавил IUSR в ту же папку, и это решило проблему. Теперь я могу видеть изображения, стили CSS и все такое.

2 голосов
/ 16 сентября 2010

Это потому, что вы, вероятно, используете фиксированный путь в src, например: ../../Content/Styles/style.css. В MVC вы должны использовать помощник Url: Url.Content("~/Content/Styles/style.css").

С помощью помощника Url у вас не должно быть проблем.

1 голос
/ 03 ноября 2010

Я всю ночь тянул меня за волосы.

На W2K8, MVC2, .NET 4.0 и IIS 7 (с VS 2010)

Убедитесь, что у IIS_IUSRS есть полные правав корневую папку, но по-прежнему нет - CSS, JS, изображения по-прежнему не доступны при рендеринге страницы ....

, а затем .... так просто:

В представлении функцийдля сайта - определенные типы MIME для .js, .css и .jpg - и вуаля!

Sweet!

ps мое 1-е приложение mvc - и я думаю, что мне это нравится...

0 голосов
/ 16 февраля 2012

Папка, на которую указывает ваш виртуальный каталог, предоставила пользователю «Все» свойства чтения.

0 голосов
/ 22 апреля 2010

Проверьте свойства ваших папок с контентом ... посмотрите, не копируют ли они "локально" по какой-то причине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...