Я закончил свой первый проект С# в VS 2008, и теперь он работает хорошо. Но теперь мне нужно опубликовать этот проект на моем новом веб-сайте. Этот проект представляет собой веб-приложение, которое взаимодействует с моей базой данных SQL Server 2008 Adventureworks на этом же компьютере (XP Professional OS). Я запускаю диспетчер IIS 6.0, но я новичок в IIS 6.0 и VS 2008.
Я начал, щелкнув правой кнопкой мыши приложение в VS и выбрав "Опубликовать", но я только что выбрал файловую систему, потому что выбор Local IIS заставляет меня вводить имя пользователя и пароль.
Проблема заключается в том, что я не могу открыть этот веб-сайт из IIS без запроса подсказки для имени пользователя и пароля. Я несколько раз изменил файл machine.config в разделе processModel, установив username = "D610-M\ASPNET", password = "AutoGenerate". Но это заставляет меня вводить встроенный пароль, когда я пытаюсь его просмотреть. И я не знаю, какой встроенный пароль ASPNET. Когда я отменяю этот всплывающий пароль, он возвращает:
HTTP 401.1 "У вас нет прав на просмотрите эту страницу."
И я пароль reset пароль ASPNET несколько раз. Сначала я попытался установить его на пароль, который знал, затем я запустил команду aspnet_regiis, чтобы повторно инициализировать ее. Я также пытался заменить другие имена пользователей и пароли, но никто из них не работал. Я даже попробовал ввести "SYSTEM" для имени пользователя и пароля AutoGenerate, но даже это побуждает меня вводить пароль. Я добавил пользователей ASPNET для чтения/записи/списка для всех соответствующих папок. И я попытался создать новый веб-сайт, обозначающий http://localhost/[AppName], но это заставляет меня вводить пароль. Так что не обойти этот пароль.
Я изменил свойства для сайта по умолчанию в IIS: домашний каталог, указывающий на мое приложение в папке VS 2008 и Application Protection = Low. На вкладке "Безопасность каталога" я установил имя пользователя для D610-M\IUSR_D610-M, и я проверил "Включить анонимный доступ". Я отключил Allow IIS для управления паролем.
И я прочел много URL-адреса MS и других веб-сайтов, чтобы узнать, могу ли я сам ответить на эти проблемы, но ни одна из них не помогла. Это должно быть просто. Я просто пытаюсь добавить свое веб-приложение на свой сайт. Я знаю, что мой сайт работает, потому что я установил сайт по умолчанию с базовым HTML, и он работает.
Что еще я могу попробовать, чтобы добавить это веб-приложение на мой сайт?
Одним из важных ограничений для запоминания является то, что вам разрешен только один веб-сайт в IIS6 на XP.
Если вы отредактировали файл machine.config, вы внесли слишком много новых переменных в уравнение, чтобы правильно устранить проблему (не то, что редактирование machine.config само по себе вредно, но это указывает на то, что есть немного подхода дробовика к проблема).
Вам нужно начать, очистив свой шифер и удостоверившись, что у вас есть работающая в противном случае система. Просмотр HTML-страницы не так много работает, как запуск HTML и запуск ASP.NET, как яблоки и велосипеды.
Лучшее, что я знаю для этого, - это удаление и переустановка IIS и любой платформы .NET, на которой вы находитесь. Если вы на 3.5, вы должны сделать это как для двух, так и для трех очков пять. Если вам нужно будет поставить machine.config и каждую версию web.config(кроме той, что находится в вашем веб-приложении), верните их значения по умолчанию. Там нет ничего, что вам нужно было бы редактировать, запуская обычное приложение ASP.NET.
Как только вы подумаете, что у вас есть tabla rasa и вы можете просмотреть страницу html, измените его расширение на .aspx и посмотрите, можете ли вы его просмотреть.
Мое последнее предложение на сегодня:
Как плакат над указанным набором ваших списков ACL в папке, где находится ваш сайт (обычно c:\inetpub\wwwroot), чтобы группа "Все" имела "Полный доступ". Не оставляйте это так, даже на собственной машине, но из уравнений требуется разрешение файла. Если у вас все еще есть проблемы, дайте мне знать, но в основном вам нужно начать с "известного хорошего" состояния, если вы когда-либо надеетесь решить эту проблему.
Я не уверен, что это все, но.... Я сам видел эту ошибку, и обычно это связано с тем, что у вас не было версии ASP.NET, установленной на 2.0 в свойствах вашего сайта на вкладке ASP.NET. Эта настройка часто по умолчанию используется для ASP.NET 1.1, которая может вызвать эту ошибку. Обратите внимание: несмотря на то, что вы используете Visual Studio 2008, версия ASP.NET по-прежнему должна быть 2.0 в IIS. Я бы дважды проверял этот параметр.
Я считаю, что это почти то же самое, что и вопрос, поставленный ранее здесь
Обычно я рекомендую исходную сборку быть в местоположении в C:\(например, C:\MyFirstApplication). Вам также необходимо убедиться, что "Сетевая служба" имеет разрешения на эту папку. Размещение приложения в папке проектов (или любой другой) в списке личных документов запрашивает разрешения и проблемы с доступом. Попробуйте это и посмотрите, работает ли он!
Вам необходимо установить права доступа к корневому уровню на вашем веб-сайте. Перейдите в папку, в которой находится ваш веб-сайт, щелкните правой кнопкой мыши, разрешения, вкладку безопасности. Убедитесь, что у вас есть asp.net, анонимный пользователь, учетная запись гостевого Интернета (компьютер\iuser_ {something}) и услуга сети в разрешенных ролях.
В качестве сторонника я предлагаю вам предварительно скомпилировать ваш сайт, прежде чем публиковать его на своем веб-сервере. Это меры предосторожности и повышение производительности. Попасть в эту привычку будет хорошо для вас в долгосрочной перспективе. Это держит людей от настройки кода на сервере. Здесь есть полезная утилита: http://www.west-wind.com/tools/aspnetcompiler.asp