Добавление веб-приложения C # на веб-сайт с IIS6 - PullRequest
2 голосов
/ 31 июля 2009

Я закончил свой самый первый проект на C # в VS 2008, и сейчас он работает хорошо. Но теперь мне нужно опубликовать этот проект на моем новом сайте. Этот проект представляет собой веб-приложение, которое взаимодействует с моей базой данных SQL Server 2008 Adventureworks на этом же компьютере (ОС XP Professional). Я использую IIS 6.0 Manager, но я новичок в IIS 6.0 и VS 2008.

Я начал с того, что щелкнул правой кнопкой мыши приложение в VS и выбрал «Опубликовать», но я только что выбрал Файловую систему, потому что выбор Local IIS вынуждает меня вводить Имя пользователя и пароль.

Проблема в том, что я не могу открыть этот сайт из IIS без запроса имени пользователя и пароля. Я несколько раз модифицировал файл machine.config в разделе processModel, установив username = "D610-M \ ASPNET", password = "AutoGenerate". Но это заставляет меня вводить встроенный пароль, когда я пытаюсь его просмотреть. И я не знаю, что такое встроенный пароль ASPNET. Когда я отменяю это всплывающее окно с паролем, оно возвращает:

HTTP 401.1 "Вы не авторизованы для просмотреть эту страницу. "

И я несколько раз сбрасывал пароль ASPNET. Сначала я попытался установить пароль, который я знал, а затем запустил команду aspnet_regiis, чтобы повторно инициализировать его. Я также попытался заменить другие имена пользователей и пароли, но ни один из них не сработал. Я даже пытался ввести "SYSTEM" для имени пользователя и пароля для автоматического создания, но даже это побуждает меня вводить пароль. Я добавил права доступа для чтения / записи / списка пользователей ASPNET ко всем соответствующим папкам. И я попытался создать новый веб-сайт, указывающий на http://localhost/[AppName],, но это вынуждает меня вводить пароль. Так что не обойти этот пароль.

Я изменил свойства веб-сайта по умолчанию в IIS: домашний каталог, указывающий на мое приложение в папке VS 2008, и защита приложения = низкая. На вкладке «Безопасность каталога» я установил имя пользователя D610-M \ IUSR_D610-M и проверил «Включить анонимный доступ». Я снял флажок Разрешить IIS контролировать пароль.

И я прочитал множество URL-адресов MS и других веб-сайтов, чтобы посмотреть, смогу ли я сам ответить на эти проблемы, но ни одна из их подсказок также не сработала. Это должно быть просто. Я просто пытаюсь добавить свое веб-приложение на мой сайт. Я знаю, что мой веб-сайт работает, потому что я установил веб-сайт по умолчанию с базовым HTML, и он работает.

Что еще можно попробовать, чтобы добавить это веб-приложение на мой сайт?

Ответы [ 5 ]

1 голос
/ 01 августа 2009

Одно важное ограничение, которое следует помнить, это то, что вам разрешен только один веб-сайт на 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), чтобы у группы «Все» был «Полный доступ». Не оставляйте это таким образом, даже на вашем собственном компьютере, но это убирает права доступа к файлам из уравнения. Если у вас все еще есть проблемы, дайте мне знать, но в основном вам нужно начинать с «хорошо известного» состояния, если вы когда-нибудь надеетесь решить эту проблему.

1 голос
/ 01 августа 2009

Я не уверен, что это так, но .... Я сам видел эту ошибку, и обычно она вызвана тем, что в свойствах вашего Веб-сайта на вкладке ASP.NET версия ASP.NET не установлена ​​на 2.0. Этот параметр часто устанавливается по умолчанию в ASP.NET 1.1, что может привести к возникновению этой ошибки. Обратите внимание, что даже при использовании Visual Studio 2008 версия ASP.NET по-прежнему должна быть 2.0 в IIS. Я бы дважды проверил эту настройку.

0 голосов
/ 31 июля 2009

Вам необходимо установить права доступа к папке корневого уровня на вашем веб-сайте. Перейдите в папку, в которой находится ваш веб-сайт, щелкните правой кнопкой мыши, разрешения, вкладка безопасности. Убедитесь, что у вас есть asp.net, анонимный пользователь, гостевая учетная запись Интернета (компьютер \ iuser_ {что-то}) и сетевая служба в разрешенных ролях.

Кроме того, я предлагаю вам предварительно скомпилировать свой сайт, прежде чем публиковать его на своем веб-сервере. Это мера безопасности и повышение производительности. Попадание в эту привычку будет для вас хорошей вещью в долгосрочной перспективе. Он не дает людям настраивать код на сервере. Здесь есть хорошая утилита, облегчающая эту задачу: http://www.west -wind.com / tools / aspnetcompiler.asp

0 голосов
/ 31 июля 2009

Я полагаю, что это в значительной степени совпадает с вопросом, заданным им ранее здесь

0 голосов
/ 31 июля 2009

Обычно я рекомендую, чтобы начальная сборка находилась в C: \ (например, C: \ MyFirstApplication). Вы также должны убедиться, что «Сетевая служба» имеет разрешения для этой папки. Размещение приложения в папке проектов (или любой другой) в вашем личном списке документов запрашивает разрешения и проблемы с доступом. Попробуйте и посмотрите, работает ли он!

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