Iis включение отладки asp


Содержание

Iis включение отладки asp

23634 просмотра

8 ответа

198 Репутация автора

Есть ли способ отладки веб-приложения ASP.NET Core при работе под управлением IIS?

Я работаю под IIS, потому что мне нужно, чтобы он был доступен через SSL на порту 443.

Ответы (8)

64 плюса

1370 Репутация автора

Примечание. Если вы видите несколько процессов dnx.exe, выберите один из них с пользователем IIS в столбце username. По умолчанию это «IIS APPPOOL <имя вашего пула приложений>»

PS Если вы видите процесс dotnet с пустым именем пользователя, запустите Visual Studio от имени администратора.

ОБНОВИТЬ

С ASP.Net Core 1.0.0 вы должны присоединиться к «». Например, если у вашего проекта есть имя «Web», вы должны присоединиться к «Web.exe». Также вы можете найти имя руководителя в следующем разделе web.config

Автор: Vitaly Размещён: 06.04.2020 01:19

5 плюса

11400 Репутация автора

Это действительно необходимо? Приложения ASP.NET Core запускаются как внешний процесс для IIS (с использованием dotnet.exe), поэтому отладка с помощью IIS на самом деле ничего не дает. Бэкэнд-приложение получает запросы по обычному HTTP.

Для получения дополнительной информации о том, как фактический хостинг IIS работает с ASP.NET Core, вы можете ознакомиться с этим сообщением в блоге: http://weblog.west-wind.com/posts/2020/Jun/06/Publishing-and-Running- Сеть САШ-Core-Applications-с-IIS

Visual Studio в настоящее время не поддерживает отладку под полным IIS, и, как я слышал, это не то, что планируется. Microsoft поддерживает работу с IIS Express, и вы можете настроить сертификат для IIS Express.

В проекте ASP.NET Core в опциях Debug Project есть опция Enable SSL, которую вы можете включить. IIS Express создаст локальный сертификат и позволит вам отлаживать ваше приложение с использованием SSL.

Преимущество такого подхода заключается в том, что он работает только при нажатии клавиши F5 — ручное подключение не требуется.

6 плюса

79 Репутация автора

Преимущество заключается в том, что вы можете использовать веб-сайт снаружи, используя фактическое имя хоста. Представьте себе, что приложение для Android пытается подключиться к localhost для отладки основного веб-API-интерфейса asp.net. боль в настройке, если вы не можете использовать реальный физический IP-адрес и подключиться к чему-либо, работающему на iis Так же, как до. Все можно сделать, но это не значит, что если оно новое, оно автоматически становится более практичным. А отсутствие старой опции debug iis — это шаг назад с точки зрения производительности.

плюса

79 Репутация автора

Просто прошёл историю и наткнулся на эту. На случай, если кто-нибудь придет к этому вопросу . решение для меня оказалось довольно простым. Если вы используете аутентификацию в своем основном приложении .net, просто убедитесь, что оно использует базовую аутентификацию с использованием HTTP (для отладочной части). Затем в IIS просто используйте Url Rewrite, чтобы настроить обратный прокси-сервер для вашего основного ядра http: // localhost: someport .net. Вот и все. Задача решена. Возможно, перезапись URL будет поддерживать https в ближайшее время, и в этом случае базовая аутентификация с использованием HTTP может также использоваться для целей отладки. Что было бы здорово. Но пока эта установка решила все мои проблемы.

плюса

101 Репутация автора

Я искал решение, которое позволило бы мне отлаживать ядро ​​подпрограммы .NET при работе на веб-сайте, на котором размещен классический ASP-код.

Решение обратного прокси-сервера Looooooka сработало для меня, но потребовалась некоторая работа, чтобы понять это.

1.) Добавьте эту строку в Startup.cs.

Убедитесь, что вы поместили его ДО строки, которая говорит «app.UseStaticFiles ();»

2.) Установите «URL Rewrite v2» и «Маршрутизация запросов приложений»

3.) Добавьте папку на веб-сайт IIS (/ core) и создайте файл web.config внутри папки следующим образом:

4.) Откройте свойства проекта в Visual Studio и перейдите на вкладку отладки. Измените URL «Запустить браузер» на свой URL IIS.

3 плюса

349 Репутация автора

Сценарий: отладка основного веб-приложения ASP.NET, работающего на IIS Local.

Предварительное условие : добавьте «Поддержка IIS времени разработки» в существующую установку Visual Studio. Перейдите по следующей ссылке: https://blogs.msdn.microsoft.com/webdev/2020/07/13/development-time-iis-support-for-asp-net-core-applications/

1. В Visual Studio 2020 создайте «Базовое веб-приложение ASP.NET» с именем «MvcMovie».

1.1. Открыть проект «MvcMovie» Свойства .

1.1.2. Перейдите на вкладку « Отладка » и установите (если нет):

1.1.2.1. «Профиль:» «MvcMovie».

1.1.2.2. «Запуск:» «IIS»

1.1.2.3. (проверено) «Запустить браузер:» » https: // localhost «

1.1.2.4. «Переменные среды:» | Название: «ASPNETCORE_ENVIRONMENT» | Значение: «Развитие» |

1.1.2.5. «Настройки веб-сервера»

1.1.2.5.2. (отмечено) «Включить анонимную аутентификацию»

2. В «IIS Local» менеджер «Добавить сайт» с именем «AspNetCoreMvcMovie».

2.1. Установите «Физический путь» с папкой проекта (НЕ решения) (в нашем случае «D: \ ASP-NET-Core \ ASP-NET-Core-Projects \ MvcMovie \ MvcMovie»).

2.2. Привязка «Тип»: «https».

2,3. «Сертификат SSL»: «Сертификат разработки IIS Express».

2.5. В «Пулы приложений» найдите по имени «AspNetCoreMvcMovie» пул.

2.5.1. В поле «Изменить пул приложений» установите для «.NET CLR version» значение «No Managed Code».

3. Установите VS 2020 повышенных разрешений.

3.1. Если у нас есть такой массаж: «Microsoft Visual Studio»: «Для этой задачи требуется, чтобы у приложения были повышенные разрешения», следуйте инструкциям по устранению неполадок «(Метод 2) Устранение неполадок совместимости» по следующей ссылке: https://social.technet.microsoft.com. /wiki/contents/articles/46441.visual-studio-2020-this-task-requires-the-application-to-have-elevated-permissions.aspx

3.2 После выполнения этого метода (Метод 2) начнется VS-2020.

3.3. Запустить (в режиме «Отладка») приложение «MvcMovie» с IIS-профилем (который настроен для работы на IIS Local . . НЕ IIS Express . ). В нашем случае профиль устанавливается с именем текущего приложения («MvcMovie») в «Шаге 1».

3.4. Дождитесь запуска приложения в браузере.

3.5. Закрыть приложение (закрыть веб-браузер).

3,6. Перейдите в окно устранения проблем совместимости и нажмите «Далее».

3.6.1. Затем нажмите «-> Да, сохраните эти настройки для этой программы».

3.6.2. После того, как «Устранение проблем» завершит «Сохранение настроек», мы должны увидеть окно «Устранение неполадок завершено». В окне «Устранение неполадок завершено», необходимо просмотреть: «Обнаружены проблемы» -> «Несовместимая программа» -> «Исправлено». Затем нажмите «-> Закрыть средство устранения неполадок».

4. Начиная с VS-2020, снова запустите (в режиме «Отладка») приложение «MvcMovie» с IIS-профилем (в нашем случае с именем «MvcMovie»).

Автор: Ted Размещён: 21.08.2020 03:00

плюса

12670 Репутация автора

У меня возникла та же проблема для проекта ASP.NET Core 2.2 Web API, которую я хотел запустить с IIS.

launchsettings.json

Настройте привязку https. Также рекомендуется определить определенный пул приложений для веб-приложения, чтобы облегчить поиск процесса присоединения.

Присоединить к процессу

Присоединить к процессу (Ctrl-Alt-P) + найти процесс w3wp.exe + выбрать тот, который имеет имя пользователя = IIS APPPOOL \:

Автор: Alexei Размещён: 30.12.2020 02:37

плюса

105 Репутация автора

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

Основные части отладки в IIS:

  • Правильная настройка IIS на вашем устройстве. машина
  • Установка SSL-сертификата для вашего сайта IIS
  • Добавление поддержки IIS времени разработки из установщика Visual Studio
  • Установка как минимум .NET Core SDK 2.2
  • Настройка профиля запуска в Visual Studio для запуска браузера с помощью IIS.

.NET Core 2.2 необходим для запуска вашего сайта в рамках процесса IIS.

How do I attach the debugger to IIS instead of ASP.NET Development Server?

I have an ASP.NET website and when I press F5 it automatically attaches to the ASP.NET Development Server, how do I attach to IIS worker process instead when I press F5?


5 Answers 5

open project properties, go to the web tab and choose the option for IIS.

That actually starts an instance of the app in IIS and attaches the debugger. If you only wanted to attach to an existing IIS instance, choose attach to process from the debug menu.

Debug->Attach To Process.

Select the aspnet_wp.exe process from the list.

If you’re running IIS > version 5 the process will be w3wp.exe, and there will be one for every app pool (so if you don’t know which app pool you’re hitting, you’ll need to attach to all of them).

Debug -> Attach to Process from the VS menu.

In order to know to which w3wp.exe process to attach you can use the following command on a 2008 server

While on windows 2003 it is

However if you have access to the task manager (taskmgr.exe) you can see there directly the name of the process along with the process ID, and in most cases the «user name» column of the process will be the same as the application pool name, (of course you have to set these columns to be visible in task manager in order to view the information).

But note that all of the methods will display only the processes that are currently running, which means that if your particular process has shut down due to idle time you have first to use the site in order to bring the process up in the list.

Also if the application is a «Web Garden» (which has more than one w3wp.exe) then even after attaching to the correct process there is still no guarantee that the breakpoints will be hit, since traffic to the site might be directed to another process.

Also note that if you attach to an application that runs in release mode, it will now instead run in debug mode, which means for example that there will be no timeout limitations (which might be a bit of a problem if you are actually trying to troubleshoot a timeout error).

If you want to attach to a remote process here is the best practice:

  1. Make sure that the firewall is not blocking by opening the relevant ports or completely disabling it (just remember to turn it on again when done).
  2. You should have a windows domain account with administrative privileges on the remote machine or have an account — with the same username and password as the local machine which is running VS — on the remote machine.
  3. On the machine that has VS installed navigate to (Visual Studio Install path)\Microsoft Visual Studio (current version number)\Common7\IDE\Remote Debugger(Remote Machine Version), and copy and paste this folder to the remote machine or share this folder so that it is accessible from the remote machine.
  4. On the remote machine log in as the same user as the local machine (see step 2) from there navigate to the copied or shared folder of step 3, and right click on «msvsmon.exe» and from the context menu select «Run As Administrator».
  5. The Remote Monitor should start up and claim that it started a server usually by the name of (user)@(remote machine) or any other name.
  6. In VS select Debug -> Attach To Process from the menu, leave the transport on «Default» and for the «Qualifier Name» enter the name from step 5.
    If everything goes correctly this will bring up the list of processes on the remote machine.

Of course there is a lot more in this subject, and for debugging native code the process might be even simpler, but the steps I have listed here should work in every case.

Отладка ASP.NET с помощью IIS

4 Ariel [2009-12-18 18:45:00]

Я настроил отладку в Visual Studio 2008 для IIS вместо встроенного сервера, поэтому я могу запускать переписывание URL при разработке (используя IIRF).

Понадобилось некоторое время, чтобы перейти на работу (изменение разрешений, переустановка .NET framework), но он работал.

Я выключил свою машину, и теперь, когда она вернется на отладчик, не запустится. Я использую Parallels с WinXP на iMac.

«Невозможно начать отладку в Интернете сервер. Не удалось запустить ASP.NET отладки. Дополнительная информация может быть доступный при запуске проекта без отладки»

Я прочитал целую кучу сообщений на SO, а также искал тему, но ни один из них не дает рабочего ответа.

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

asp.net visual-studio-2008 iis

6 ответов

1 Решение Ariel [2010-06-03 20:50:00]

Итак, после большого количества экспериментов мне удалось найти проблему, ну вроде.

Основная проблема заключалась в том, что Keep-Alives не были включены, что, в свою очередь, не позволяло аутентификации работать должным образом. Благодаря этому отладчик действительно работает. Но. Он будет работать, только если я начну отладку с выбранной страницы .aspx. Если я начну отладку с выбранной .cs-страницей, она не будет.

Странно, но, по крайней мере, он работает!

2 Vadim K. [2009-12-18 19:33:00]

Убедитесь, что вы включили проверку подлинности Windows для своего сайта в IIS.

В оснастке MMC IIS щелкните правой кнопкой мыши на своем веб-сайте, выберите «Свойства», выберите вкладку «Безопасность документа», нажмите «Изменить. » в поле «Анонимный доступ и проверка подлинности», и убедитесь, что выбрана «Интегрированная проверка подлинности Windows».

Iis включение отладки asp

Обновлен: Ноябрь 2007

Если веб-приложение ASP.NET размещено в IIS 7.0, то параметры конфигурации для приложения можно настроить различными способами. К ним относятся:

Использование служб IIS Manager. Дополнительные сведения см. в разделах Практическое руководство. Открытие диспетчера IIS и Диспетчер служб IIS (Internet Information Services (IIS) Manager).

Непосредственное редактирование файла Web.config. Это можно сделать в Visual Studio или Visual Web Developer или используя текстовый редактор.

Использование средства командной строки служб IIS 7.0 (Appcmd.exe). Оно позволяет указать параметры конфигурации IIS и параметры конфигурации веб-приложения. Дополнительные сведения см. в разделе средство командной строки IIS 7.0 (IIS 7.0 Command-Line Tool).

Илон Маск рекомендует:  Что такое код asp hcmaxdiskspaceusage

Использование инструментария управления Windows (WMI). В пространстве имен WebAdministration поставщика WMI IIS 7.0 содержатся классы и методы, позволяющие создавать сценарии, использующиеся при администрировании веб-узлов, веб-приложений и связанных с ними объектов и свойств. Дополнительные сведения см. в разделе IIS 7.0: WMI.

Службы IIS 7.0 имеют модульную архитектуру, позволяющую указать, какие модули составляют используются веб-сервером. После установки IIS 7.0 по умолчанию многие модули выключены. При работе с веб-сайтами ASP.NET может понадобиться включение следующих модулей:

Модуль управления совместимостью с IIS 6, позволяющий Visual Studio использовать вызовы метабазы для взаимодействия с хранилищем конфигураций IIS 7.0.

Модуль проверки подлинности Windows, позволяющий проводить отладку веб-приложений в Visual Studio.

В данном пошаговом руководстве будут заданы параметры конфигурации с использованием диспетчера IIS Manager, а затем можно будет увидеть, как параметры отражаются в файле Web.config веб-приложения. В данном пошаговом руководстве представлены следующие задачи:

Создание настраиваемого модуля управляемого кода и помещение модуля в каталог App_Code веб-приложения.

Регистрация настраиваемого модуля с использованием диспетчера IIS Manager.

Добавление настраиваемого заголовка HTTP с использованием диспетчера IIS Manager.

В этом пошаговом руководстве функциональные возможности модуля не важны. Цель этого пошагового руководства — демонстрация интеграции модуля в конвейер запросов, а также влияния настройки приложения с помощью диспетчера IIS Manager на файл Web.config.

Для выполнения этого пошагового руководства потребуется:

Службы IIS 7.0, установленные и выполняющиеся в ОС Windows Vista или в ОС Windows Server 2008.

По меньшей мере один пул приложений, выполняемый в интегрированном режиме IIS 7.0.

Модуль Совместимость управления IIS 6 , включенный в IIS 7.0.

Visual Studio 2008.

Платформа .NET Framework, версия 3.0 или более поздняя версия.

Административные разрешения на локальном компьютере.

Средство для проверки HTTP-запросов и ответов между локальным компьютером и веб-серверами, например, средство Fiddler, доступное на веб-узле Fiddler Web Debugging Proxy.

Fiddler — это стороннее средство, не поддерживаемое Microsoft.

Для начала потребуется создать новый веб-узел.

Создание нового веб-узла

В Visual Studio нужно создать новый локальный веб-узел HTTP с именем WalkthroughIIS7 .

Дополнительные сведения о создании локального веб-узла IIS см. в разделе Пошаговое руководство. Создание локального веб-узла IIS в Visual Web Developer .

В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

В поле Открыть введите inetmgr и нажмите кнопку ОК .

Примечание.

Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

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

Сведения об задании режима веб-приложения см. в разделе Настройка режима обработки запросов для пула приложений (Configure the Request-Processing Mode for an Application Pool).

Теперь можно создать настраиваемый HTTP-модуль.

Создание настраиваемого HTTP-модуля

В обозревателе решений Visual Studio щелкните правой кнопкой мыши узел веб-проекта и выберите пункт Добавить новый элемент .

Откроется диалоговое окно Добавление нового элемента .

Под заголовком Установленные шаблоны Visual Studio выберите Класс .

Выберите предпочитаемый язык программирования.

Для имени класса введите CustomModule и нажмите Добавить .

Если веб-узел еще не содержит папки App_Code, отобразится сообщение с запросом подтверждения помещения класса в папку App_Code. Если это так, нажмите кнопку Да .

В файле класса удалите существующий код и замените его следующим кодом:

Этот код выполняет следующие действия:

Определяет настраиваемый модуль управляемого кода, реализующий интерфейс IHttpModule .

Определяет обработчик событий для события BeginRequest экземпляра HttpApplication . Обработчик событий определяет настраиваемый заголовок, добавляемый к коллекции заголовка ответа.

Добавляет обработчик к конвейеру запросов для уведомления в методе Init модуля.

Поскольку класс реализует интерфейс IHttpModule , класс должен реализовать метод Init и метод Dispose . Метод Dispose в этом модуле не имеет функциональных возможностей, но в нем можно при необходимости реализовать логику удаления.


В меню Построение выберите команду Построить веб-узел , чтобы убедиться, что ошибки в модуле отсутствуют.

В качестве последней задачи в этом подразделе нужно создать страницы ASP.NET и HTML, используемые позднее в этом пошаговом руководстве для проверки настраиваемого модуля.

Создание тестовых страниц ASP.NET и HTML

Добавьте новую однофайловую веб-страницу ASP.NET с именем ASPXpage.aspx в корневую папку приложения.

Удалите существующую разметку и замените ее на следующую:

Добавьте новую HTML-страницу с именем HTMLPage.htm в корневую папку веб-приложения.

Добавьте следующую разметку на HTML-страницу:

Сохраните все изменения.

Запустите по отдельности страницу ASPXpage.aspx и страницу HTMLpage.htm, чтобы убедиться в возможности их просмотра в обозревателе.

Примечание.

Не закрывайте приложение Visual Studio. Позднее потребуется вернуться к этому приложению, чтобы проверить изменения конфигурации, осуществленные с помощью диспетчера IIS Manager.

На этом этапе страницы выполняются, но не вызывают настраиваемый модуль. В следующей процедуре необходимо добавить настраиваемый модуль к конвейеру запросов.

В этом разделе потребуется использование диспетчера IIS Manager для изменения нескольких параметров конфигурации для приложения IIS. Необходимо зарегистрировать настраиваемый модуль, добавить настраиваемый заголовок и отключить статическое сжатие.

Регистрация настраиваемого модуля управляемого кода

В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

В поле Открыть введите inetmgr и нажмите кнопку ОК .

Примечание.

Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

В области Подключения разверните имя компьютера или сервера, на котором размещен веб-узел.

Разверните папку Узлы .

Выберите веб-узел WalkthroughIIS7 . В Windows Server 2008, если веб-приложение является приложением веб-узла, сначала разверните этот веб-узел, а затем выберите WalkthroughIIS7 .

По умолчанию центральная часть диспетчера IIS Manager отображает параметры конфигурации веб-сервера по областям. Для веб-приложения WalkthroughIIS7 существуют две области: ASP.NET и IIS .

В разделе IIS центральной области дважды щелкните значок Модули .

В области сведений Модули в центральной области будут показаны все модули, настроенные в данный момент для IIS.

В области Действия щелкните Добавить управляемый модуль .

Откроется диалоговое окно Добавление управляемого модуля .

Введите CustomModule в поле Имя .

Именем может быть любое слово или фраза, описывающая модуль. В этом пошаговом руководстве будет использовано только имя модуля.

В списке Тип выберите или введите полное имя управляемого типа для модуля.

Тип CustomModule появится в списке, поскольку конфигурация IIS включает любые классы в папке App_Code, реализующие IHttpModule .

Убедитесь, что флажок Вызывать только по запросу приложений ASP.NET или управляемых обработчиков снят.

В данном пошаговом руководстве необходимо, чтобы модуль был применен ко всем запросам в конвейере, а не только к запросам ASP.NET.

Нажмите кнопку ОК .

Модуль управляемого кода добавляется к списку модулей. Возможно, потребуется прокрутить или пересортировать список, чтобы увидеть добавленный модуль.

Добавление настраиваемого заголовка ответа

В левой области диспетчера IIS Manager щелкните имя узла WalkthroughIIS7 , чтобы отобразить основную область конфигурации для узла.

В центральной области в разделе параметров IIS дважды щелкните значок Заголовки ответов HTTP .

Подробные сведения функции Заголовки ответов HTTP будут отображены в центральной области. В ней будут показаны все определенные в данный момент заголовки ответов HTTP.

В области Действия щелкните Добавить .

Откроется диалоговое окно Добавить HTTP-заголовок ответа .

В текстовом поле Имя введите CustomHeader1 .

Именем может быть любое слово или фраза, описывающая заголовок.

В текстовом поле Значение введите значение SampleHeader .

Теперь статическое сжатие будет отключено. Это препятствует сжатию статического содержимого, например страниц HTML.

Отключение статического сжатия

Щелкните имя узла WalkthroughIIS7 в левой области, чтобы отобразить основную область конфигурации узла в центральной области.

В центральной области диспетчера IIS Manager дважды щелкните значок Сжатие в разделе параметров IIS .

Подробные сведения функции Сжатие будут отображены в центральной области.

Убедитесь, что флажок Включить сжатие статического содержимого не установлен.

В данном пошаговом руководстве были выполнены задачи, связанные с изменением параметров конфигурации с помощью диспетчера IIS Manager. В этой процедуре будут просмотрены изменения в файле Web.config приложения.

Проверка регистрации модуля в файле Web.config

Вернитесь к приложению Visual Studio и к приложению WalkthroughIIS7 .

В обозревателе решений щелкните правой кнопкой мыши имя веб-узла и выберите команду Обновить папку .

Это приведет к тому, что представление папки веб-узла в Visual Studio будет синхронизировано с папкой и файлами на диске.

Если приложение изначально не содержало файла Web.config, то теперь у веб-приложения будет файл Web.config. Если приложение уже содержало файл Web.config, то в файл будут внесены изменения.

В Обозревателе решений дважды щелкните файл Web.config, чтобы просмотреть его содержимое.

Секция system.webServer содержит изменения в параметрах конфигурации, внесенные с помощью диспетчера IIS Manager. В секции system.webServer содержатся следующие дочерние элементы:

Элемент modules , регистрирующий настраиваемый модуль для конвейера обработки запросов.

Элемент httpProtocol , определяющий настраиваемый заголовок ответа.

Элемент urlCompression , отключающий статическое сжатие.

Секция system.webServer будет выглядеть примерно так:

Дополнительные сведения о секции system.webServer см. в разделе Использование конфигурации ASP.NET и в разделе IIS 7.0: system.webServer (IIS Settings Schema) (IIS 7.0: system.webServer (схема параметров IIS)).

Службы IIS 7.0 имеют интегрированный конвейер запросов. Запросы для всех ресурсов приложения (например, для ASPX-страницы или HTM-страницы) могут вызывать уведомления конвейера в модуле управляемого кода, как и в управляемом модуле, созданном в ходе этого пошагового руководства.

Примечание.

При настройке модуля управляемого кода с помощью диспетчера IIS Manager не был выбран параметр Вызывать только по запросу приложений ASP.NET или управляемых обработчиков . Если бы был выбран этот параметр, то настраиваемый модуль получал бы уведомления конвейера только для ресурсов ASP.NET и не получал бы для статических ресурсов, таких как HTML-файлы.

Проверка применения настраиваемого модуля ко всем ресурсам

В Visual Studio откройте страницу ASPXpage.aspx и нажмите сочетание клавиш CTRL + F5 для отображения страницы в обозревателе.

Настраиваемый заголовок, определенный в модуле, отобразится в обозревателе. На странице ASP.NET невозможно получить доступ к настраиваемому заголовку, определенному IIS, поскольку сведения о заголовке добавляются после передачи содержимого страницы в поток. Однако можно подтвердить установку заголовка с использованием средства, отслеживающего трафик HTTP, например, Fiddler.

Откройте средство наблюдения за трафиком HTTP и обновите страницу ASPXpage.aspx в обозревателе.

Примечание.

Если URL-адрес для страницы ASPXpage.aspx использует localhost, измените localhost на имя компьютера, на котором установлены службы IIS 7.0. В типовом сценарии разработки это тот же компьютер, на котором выполняется Visual Studio.

Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

Просмотрите HTMLPage.htm в обозревателе.

Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

Это пошаговое руководство предоставило введение в настройку ASP.NET в IIS 7.0. Параметры конфигурации для веб-сервера IIS 7.0 и для ASP.NET объединены в один файл конфигурации, который можно редактировать с использованием одного интерфейса администрирования.

Может также возникнуть необходимость узнать об изменении других параметров в диспетчере IIS Manager и о том, как изменения отражаются в файле конфигурации. Дополнительные сведения см. в разделе Internet Information Services (IIS).

Отладка ASP.NET с IIS

Я настроил отладку в Visual Studio 2008 для IIS вместо встроенного сервера, чтобы я мог запускать перезапись URL во время разработки (с использованием IIRF).

Потребовалось некоторое время, чтобы приступить к работе (изменение разрешений, переустановка .NET Framework), но это работало.

Я выключил компьютер, и теперь, когда он снова включен, отладчик не запускается. Я использую Parallels с WinXP на iMac.

«Невозможно начать отладку в Интернете сервер. Не удалось запустить ASP.NET отладки. Больше информации может быть доступно при запуске проекта без отладки «

Я прочитал целую кучу постов на SO, а также погуглил тему, но ни один из них не дает рабочего ответа.


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

6 ответов

Так что после долгих экспериментов мне удалось найти проблему, ну вроде.

Основная проблема заключалась в том, что Keep-Alives не были включены, что, в свою очередь, не позволяло аутентификации работать должным образом. С этим включенным отладчик фактически работает. Но. Это будет работать, только если я начну отладку с выбранной страницей .aspx. Если я начну отладку с выбранной страницей .cs, она не будет.

Странно, но, по крайней мере, это работает!

Убедитесь, что вы включили проверку подлинности Windows для своего сайта в IIS.

В оснастке IIS MMC щелкните правой кнопкой мыши свой веб-сайт, выберите «Свойства», выберите вкладку «Безопасность документов», нажмите «Изменить . » в поле «Анонимный доступ и контроль аутентификации» и убедитесь, что выбрана «Интегрированная проверка подлинности Windows».

Попробуйте вручную подключить отладчик VS к процессу w3svc.exe.

Убедитесь, что ваш сайт IIS не привязан ни к одному IP-адресу. VS 2008 имеет проблему с привязкой к привязанным IP-адресам.

У меня была эта проблема, и это было потому, что мой пул приложений в IIS 7 был «классический», а не «интегрированный», используя .net 4 framework.

Иногда, если элемент отладки элемента компиляции в web.config имеет значение false, это ошибка, которую вы получаете.

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

Вы пытались выполнить отладку на встроенном веб-сервере>

Отладка ASP.NET приложение, работающее на удаленном сервере IIS с VS2010

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

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

VS2010 установлен на моей машине-со всем исходным кодом.

IE8 на моем компьютере ASP.NET сайт на производственном сервере IIS (FWIW .pdb файлы на производственной площадке.)

когда я подключаю отладчик к сеансу IE и продолжаю просматривая сайт, ни одна точка останова никогда не попадает. так что я не думаю, что я действительно отлаживаю сайт.

Я предполагаю, что мне нужна какая-то удаленная отладка? Если это так, если кто-нибудь знает какой-либо URL, чтобы помочь, это было бы очень ценно!

2 ответов

вот хорошая статья, чтобы сделать это:

установите компоненты удаленной отладки на удаленном компьютере и запустите монитор удаленной отладки (msvsmon.exe) при запуске отладки

вот полное пошаговое руководство, потому что есть много разрозненной информации, и связанная статья Microsoft предполагает много информации.

сначала давайте уточним термины, используемые в остальной части руководства:

клиент это компьютер, на котором вы делаете разработку
пульт ДУ это компьютер, на котором был развернут код, работающий на IIS

установить средство msvsmon.exe (Mсмысле, icrosчасто VisualStudio Монitor) на удаленном компьютере.
Исполняемый файл, установленный в Visual Studio на клиенте, можно найти по следующему пути:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86

когда инструмент запущен и работает, вы должны увидеть следующее приложение:

монитор отладки создал сервер, к которому можно подключиться удаленно. Если вы находитесь на машине Windows, имя, вероятно, [email protected] . Запомните это имя, потому что оно вам понадобится позже. Если вы хотите скопировать его напрямую, вы можете перейти в Сервис > Параметры, и вы увидите имя сервера. Вы даже можете изменить его на что-то другое, если хотите.

отсюда вы можете попробовать подход дробовика и посмотреть, все ли работает, но в зависимости от конфигурации сети могут быть некоторые дополнительные икоты. Чтобы попытаться отладить удаленно, откройте проект в Visual Studio. Это должен быть тот же самый проект, который развернут в IIS.

в Visual Studio вы захотите подключиться к процессу на новом сервере. Перейдите в меню Инструменты > присоединить к процессу или нажмите Ctrl + Alt + P

в диалоговом окне присоединение к процессу, измените квалификатор от имени текущего компьютера на новое имя сервера ( [email protected] ) и нажмите enter, чтобы увидеть список доступных процессов на удаленном компьютере:

если все придет сразу, вы в хороших руках. Это означает, что не было никаких политик брандмауэра, препятствующих подключению к удаленному серверу, и вы можете перейти к шагу 6.

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

если вы не смогли подключиться, может возникнуть ряд проблем в зависимости от вашей политики домена. Для официальных настроек брандмауэра вы можете проверить Microsoft настройка Брандмауэра Windows 7 для удаленной отладки, но я обнаружил, что ему не хватает деталей.

если подключение не удалось, но вы все равно получите сообщение о том, что пользователь подключен как это:

тогда это означает, что проблема не с исходящими правилами на клиенте или входящими правилами на удаленном сервере. Гораздо более вероятно, что проблема связана с входящими правилами на клиентском компьютере.

чтобы исправить это, на клиентском компьютере перейдите в Панель управления > Брандмауэр Windows > Дополнительные параметры, которые должны открыть Брандмауэр Windows с повышенной безопасностью. Выберите Правила Для Входящих Подключений и справа нажмите, чтобы ввести Новые Правила:

дайте правилу любое имя. На основе советов в это так вопрос, вместо исключения определенных портов, мы разрешим весь трафик для любого исполняемого файла Visual Studio. Перейдите в раздел программы и службы и выберите полный путь к папке установки visual studio 2010:
%ProgramFiles% (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

затем убедитесь, что правило применяется только к компьютерам в домене (что делает конечно, частные и публичные не отмечены).

если повезет, когда вы вернетесь, чтобы прикрепить процесс, вы сможете попасть в удаленную машину.

на этом этапе вы должны увидеть список всех процессов на удаленной машине. Если вы хотите отладить приложение windows, вы просто выберите имя процесса. Для ASP.NET, мы хотим прикрепиться к w3wp.exe (WWW Worker Process). Если вы не видите его в списке, попробуйте запустить сервер, открыв веб-страницу приложения, которое вы хотите отладить. Это можно сделать на localhost или перейдя по адресу в IIS с любого компьютера.

убедитесь в том, чтобы прикрепить к нужному типу кода для вашего приложения. Вы можете выбрать между native (C++ и т. д.) или управляемый (VB, C# и т. д.), или выберите автоматический и пусть Visual Studio решать.

если вы получите следующую ошибку, я обнаружил, что повторное открытие Visual Studio и msvsmon.exe с правами администратора Исправлена проблема

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

последней проблемой, с которой я столкнулся, было получение файлов отладчика для загрузки. Вы должны убедиться, что библиотеки, которые выполняются точно соответствуют тем, которые в настоящее время загружаются в visual studio и что они имеют правильный .pdb-файлы в решении на клиентском компьютере. Вы можете проверить, какие модули были загружены и откуда они загружены, перейдя в Debug > Windows > Modules или нажав Ctrl + Alt + U . Для получения дополнительной информации о загрузке файлов отладчика вы также можете попробовать любой из следующих ресурсов:

надеюсь, это и работает для вас на данный момент. Теперь вы можете перехватывать любые вызовы, сделанные в размещенном коде IIS, и проходить через них так же, как во время разработки.

Ошибка IIS, Невозможно начать отладку на веб-сервере

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

Невозможно начать отладку на веб-сервере. См. Справку об общих ошибках конфигурации. Запуск веб-страницы вне отладчика может предоставить дополнительную информацию.

Убедитесь, что сервер работает правильно. Убедитесь, что в файле web.config нет синтаксических ошибок, выполнив команду debug.Start Without Debugging. Вы также можете обратиться к теме отладки ASP.NET и ATL Server в онлайн-документации.

Как мне избавиться от этой ошибки?

Я использую Visual Studio 2010 на Windows 7 и IIS 7.5.

34 ответа

Может быть много причин для вышеуказанной проблемы.

Примечание:- Зайдите в IIS и убедитесь, что используемый пул приложений запущен.

Попробуйте это из командной строки:-

Существует несколько способов решения этой проблемы, в моем случае я изменил пароль своей машины, но забыл изменить его в идентификаторе модели процесса настройки Advance этого пула приложений.

Позже IISRESET сделал трюк для меня.

Просто обновление, когда я столкнулся с этой проблемой, и все настройки в Visual Studio и IIS казались правильными.

Что на самом деле мне помогло, так это просто запустить Visual Studio в качестве администратора — я предполагаю, что есть разрешение, которое нужно где-то установить, но я понятия не имею, что или где.

Также следует отметить, что я настроил все свои веб-сайты для использования DefaultAppPool в IIS, который в то время был ASP.NET V2, затем установил.NET 4 и DefaultAppPool был преобразован в.NET4, поэтому ни один из сайтов не будет компилироваться (что Вызвала у меня небольшое количество ругательств)

Надеюсь, что это помогает кому-то

Я видел много разных решений для этого. Iisreset сделал свое дело для меня.

Просто откройте командную строку с повышенными правами и введите:

Просто чтобы добавить, у меня была эта проблема, и исправлена ​​путем отключения Load User Profile вариант (не уверен в каких-либо побочных эффектах). Это найдено через Advanced Settings для Application Pool ,

Это тогда заставило это работать для меня.

В моем случае это было отсутствие debug=»true» в web.config (system.web -> компиляция).

Я не видел этот ответ в этой теме или (возможно, дублированный) вопрос здесь.

Я исправил проблему:

  • Открытие диспетчера задач (ctrl + alt + del)
  • На вкладке » Процессы » завершите задачу рабочего процесса IIS (теперь это может быть указано как Microsoft.IIS.Worker.Process или что-то подобное) (возможно, вам придется нажать » Подробнее» внизу, если вы не видите все процессы)
  • Затем перейдите на вкладку » Службы «, остановите службу IISADMIN и запустите ее снова.

Запустите программу, и мы надеемся это исправить! Удачного кодирования и отладки!:)

Просто возникла та же проблема после сбоя VS, и комментарий Рахула относительно пула приложений указал мне правильное направление. В моем случае рециркуляция пула приложений сделала свое дело (IIS Manager => App Pools => щелкните правой кнопкой мыши на соответствующем вопросе и перезапустите).

Лучший ответ онлайн здесь. Я попробовал пятый метод.

  1. Щелкните правой кнопкой мыши по вашему проекту в VS2005 или VS2008 или VS2010
  2. Нажмите на свойства
  3. Нажмите на веб-вкладку
  4. В разделе «Серверы» установите переключатель «Использовать сервер разработки Visual Studio».
  5. Установите переключатель «Автоматически назначать порт»
  6. Снимите флажок Проверка подлинности NTLM и включите Редактировать и продолжить

Теперь запустите ваше приложение, оно будет работать на вас.

Сбросьте свой iis в «Командная строка разработчика для (ваша версия Visual Studio)»

введите iisreset в этой командной строке и нажмите Enter. это сбросит IIS автоматически

Если вы используете HTTPS на локальном хосте, скорее всего, вы создали самозаверяющий сертификат. Срок их действия истекает в тот же день, когда они создаются, поэтому вам может потребоваться воссоздать сертификат и добавить его в привязку вашего локально размещенного сайта.

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

В моем случае DefaultAppPool был остановлен, я отредактировал Расширенные настройки и установил значение Identity как LocalSystem, после чего я запускаю DefaultAppPool.


Я использую Windows 10 Professional с Visual Studio 2020, и ни один из описанных выше вариантов не помог мне.

Для меня это исправило добавление «Службы активации Windows».

Пуск> Тип Включение или выключение функций Windows > Убедитесь, что установлен флажок «Служба активации Windows».

Надеюсь, это поможет кому-то.

Убедитесь, что в вашем файле etc в C:\Windows\System32\drivers нет других приложений с таким же именем, как у того, в котором вы получаете сообщение об ошибке.

У меня была песочница Hadoop, настроенная с именем «localhost», которое было таким же, как мой проект Visual Studio, который получал ошибку «Не удается начать отладку на веб-сервере».

Удалите эти строки, и ваш проект должен начать отладку.

Свойства проекта> Интернет> Серверы Изменить локальную МКС> МКС Экспресс

В моем случае это выглядит как Chrome, блокирующий некоторые ресурсы, не позволяющий отладчику подключаться. После закрытия Chrome я снова могу присоединиться.

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

Я отредактировал файл решения и изменил localhost на мой IP-адрес. До этого я добавил IIS_IUSRS с полным контролем в каталог проекта. Теперь я могу отлаживать.

Перейдите в Поиск> введите services.msc и убедитесь, что ASP.Net State Service запущена.

  1. Откройте файл веб-конфигурации.
  2. Смотрите ваш тег «staticContent»
  3. Удалите или закомментируйте нежелательный тег установки, например: ->

В моем случае эта папка отсутствовала:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET

Добавление этой папки и необходимых разрешений решило это для меня.

Лишь один из 10 сайтов, настроенных на моем локальном IIS, выдавал эту ошибку, поэтому у меня было ощущение, что это не что-то из других ответов, относящихся ко всей машине, таких как включение или отключение функций Windows или запуск VS2015 в качестве admin (остальные 9 сайтов работали нормально, в том же VS).

Конкретная ошибка для меня была:

Невозможно начать отладку на веб-сервере. Операция не поддерживается. Неизвестная ошибка:0x80004005

Проблема оказалась в веб-конфигурации, имеющей правило перезаписи URL для перезаписи HTTP -> HTTPS. Комментируя это, мы решили проблему

TL;DR — попробуйте отключить все ваши правила перезаписи URL web.config, если они у вас есть (затем добавьте их постепенно, если это поможет)

Используете ли вы или IIS Rewrite установлен на вашем компьютере? У меня похожая проблема на моей машине, но чтобы обойти ее, я открываю web.config как текущую страницу в VS и нажимаю f5. Затем я должен перейти на страницу для отладки. Кажется, это работает для меня.

Я столкнулся с этой проблемой, а потом узнал, что мне нужно запустить Visual Studio от имени администратора, чтобы отладить проект.

Это может быть случай неправильных учетных данных пользователя Windows.

Эта проблема возникает довольно часто после импорта существующих проектов IIS, для которых требуются имя пользователя и пароль Windows.

Чтобы решить эту проблему, убедитесь, что приложение «Пул приложений», веб-сайт и приложение веб-сайта настроены для работы с учетными данными вашего компьютера.

  1. На узле IIS-сервера выберите пул-приложение / приложение / веб-сайт и выберите » Дополнительные параметры».
  2. Проверьте, если значение Physical Path Credentials верно. исправить это, если нет.
  1. На узле IIS-сервера выберите пул-приложение / приложение / веб-сайт и выберите » Основные параметры».
  2. Нажмите «Настройки теста» и проверьте правильность учетных данных.

Я прошел каждый ответ здесь, и ничего не получалось. Моя ситуация была IIS и самозаверяющий сертификат был создан неделю назад. Работал нормально неделю, и внезапно я начал получать 403. Наконец я закрыл Visual Studio, зашел в IIS и удалил виртуальный каталог, вернулся в Visual Studio и создал виртуальный каталог из веб-настроек проекта, и все снова заработало.

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

В моем случае эта проблема произошла после того, как мой windows 10 обновился до последней версии

-Я испробовал большинство вышеперечисленных решений, но не помог мне

-Я также проверил просмотрщик событий, чтобы увидеть, какая ошибка произошла.

это ошибка, связанная с IIS произошла, но не нашел никакого решения в Интернете об этом после долгих поисков

Не удалось загрузить библиотеку модулей «C:\WINDOWS\System32\inetsrv\cgi.dll» из-за проблемы конфигурации. Текущая конфигурация поддерживает загрузку только образов, созданных для архитектуры процессора AMD64. Поле данных содержит номер ошибки. Чтобы узнать больше об этой проблеме, в том числе о том, как устранить эту ошибку несоответствия архитектуры процессора, см. http://go.microsoft.com/fwlink/?Link >

Способ решения этой проблемы — изменить значение параметра » Включить 32-разрядные приложения» на » Истина».

щелкнув правой кнопкой мыши DefaultAppPool в диспетчере IIS и выбрав Дополнительные параметры

Основываясь на ответе @MiscellaneousUser, в моем случае я включил HSTS, чтобы заставить веб-сайт использовать HTTPS вместо HTTP.

Чтобы решить эту проблему, мне пришлось отключить HSTS в файле applicationHost.config, который обычно находится здесь: C:\Windows\System32\inetsrv\Config\applicationHost.config

Соответствующая строка файла выглядит так: я только что изменил значение с true на false:

Очевидно, что вам нужно учитывать влияние безопасности на отключение HSTS. В моем случае это мой ПК для разработки, поэтому мне только включили HSTS, чтобы имитировать, что делает производство.

Iis включение отладки asp

Опубликовано: Июль 2020

Можно отлаживать как модульные тесты, так и веб-тесты, используемые для тестирования веб-проектов ASP.NET. Можно также отлаживать продуктивный код ASP.NET во время выполнения теста.

При этом во время тестирования кода ASP.NET, код теста не выполняется обычном образом в процессе VSTestHost. Вместо этого, он выполняется в процессе IIS или в процессе ASP.NET Development Server, если веб-узел основан на файлах. Поскольку тест проводится не в стандартном процессе тестирования, то если во время выполнения теста выбрать пункт Отладка модульных тестов в меню «Тест», отладка не будет запущена.

Подобным образом, пошаговое выполнение продуктивного кода ASP.NET невозможно при отключенной отладке и если отладчик не прикреплен к процессу ASP.NET Development Server или IIS.

В следующих процедурах будет создан проект веб-узла ASP.NET при помощи диалогового окна Новый веб-узел. В этом диалоговом окне в поле со списком Расположение следует выбрать местоположение веб-узла. Сделанный выбор определяет процесс, к которому в дальнейшем будет присоединен отладчик, а также шаги, по которым будет выполнена отладка во время выполнения теста в решении ASP.NET. Можно выбрать IIS или ASP.NET Development Server.

Отладка при выполнении с IIS

Отладка при выполнении с ASP.NET Development Server

В следующей процедуре к процессу будет присоединен отладчик. Имя процесса зависит от используемой операционной системы, поскольку версия IIS определяется установленной операционной системой.

Отладка кода во время выполнения теста ASP.NET с IIS

Создайте проект веб-узла ASP.NET, который требуется протестировать, а также модульный тест ASP.NET для тестирования.

При создании этого проекта веб-узла в диалоговом окне Новый веб-узел из списка Расположение выберите HTTP или FTP. Это гарантирует, что ведущим процессом будет IIS.

Включите отладку в веб-проекте ASP.NET. Для этого измените файл веб-конфигурации проекта. Если проект уже содержит файл Web.config, переходите к шагу 4. В противном случае добавьте его сейчас. Откройте контекстное меню для проекта веб-сайта в своем решении, а затем выберите пункт Добавить новый элемент.

Откроется диалоговое окно Добавление нового элемента.

В диалоговом окне Добавление нового элемента выберите Файл веб-конфигурации и нажмите кнопку Добавить.

Файл с именем Web.config будет добавлен в проект веб-узла. Дополнительные сведения об использовании файлов Web.config см. в статье Практическое руководство. Включение отладки для приложений ASP.NET.

В файле Web.config измените строку на .

(Необязательно) Задайте точки останова в модульном тесте ASP.NET в продуктивном коде для веб-узла.

Присоедините отладчик к процессу IIS. Для этого выберите Отладка, а затем Присоединение к процессу.

Откроется диалоговое окно Присоединение к процессу.

В области Доступные процессы найдите имя процесса, к которому необходимо присоединить отладчик.

Если нужный процесс отсутствует в списке, можно просмотреть другие выполняющиеся процессы. Для этого щелкните Показать процессы, запущенные всеми пользователями и Показать процессы во всех сеансах.

В области Доступные процессы выберите имя процесса и нажмите Присоединить.

Если присоединяемый процесс не запущен, нажмите Отмена и запустите процесс. Для этого откройте в обозревателе решений контекстное меню проекта веб-сайта, а затем выберите пункт Просмотреть в браузере. Далее нажмите Отладка и еще раз выберите пункт Присоединение к процессу. Процесс будет запущен и показан в области Доступные процессы. Выделите имя процесса и нажмите Присоединить.

Для этого перейдите в обозреватель модульных тестов, выберите тест, для которого необходимо выполнить отладку. В меню Тест выберите пункт Отладка модульных тестов, а затем Выбранные тесты.

Примечание.

При выполнении тестов вместо команды Выбор для отладки можно выбрать Выполнить выбранное. Разница заключается в том, что при выборе команды Выбор для отладки, отладчик автоматически отсоединяется по окончании теста, а если выбрать команду Выполнить выбранное, присоединение отладчика сохраняется. Команда Выполнить выбранное может оказаться более полезной, особенно если планируется запускать тесты несколько раз во время отладки и при этом сохранять присоединение к процессу. Если была выбрана команда Выполнить выбранное и необходимо по окончании отладки отсоединить процесс, в меню Отладка выберите команду Остановить отладку или нажмите сочетание Shift+F5.

Отладка во время выполнения теста с ASP.NET Development Server

Создайте проект веб-узла ASP.NET, который требуется протестировать, а также модульный тест ASP.NET для тестирования.

При создании этого проекта веб-узла в диалоговом окне Новый веб-узел из списка Расположение выберите «Файловая система». Это гарантирует, что ведущим процессом будет ASP.NET Development Server.

Включите отладку в веб-проекте ASP.NET. Для этого измените файл веб-конфигурации проекта. Если проект уже содержит файл Web.config, переходите к шагу 4. В противном случае добавьте его сейчас. Откройте контекстное меню для проекта веб-сайта в своем решении, а затем выберите пункт Добавить новый элемент.

Откроется диалоговое окно Добавление нового элемента.

В диалоговом окне Добавление нового элемента выберите Файл веб-конфигурации и нажмите кнопку Добавить.

Файл с именем Web.config будет добавлен в проект веб-узла. Дополнительные сведения об использовании файлов Web.config см. в статье Практическое руководство. Включение отладки для приложений ASP.NET.

В файле Web.config измените строку на .


Добавьте оператор System.Diagnostics.Debugger.Break() в начало модульного теста ASP.NET.

Примечание

Точки останова в коде будут использованы, только если они следуют за этим оператором System.Diagnostics.Debugger.Break().

Примечание

В C++ это оператор System::Diagnostics::Debugger::Break(). Сведения об использовании модульных тестов в Visual C++ см. в разделе Unit Tests and C++.

Задайте точки останова в модульном тесте ASP.NET в продуктивном коде для веб-узла.

Для этого перейдите в обозреватель модульных тестов, выберите тест, для которого необходимо выполнить отладку. В меню Тест выберите пункт Отладка модульных тестов, а затем Выбранные тесты.

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

Нажмите кнопку Отладка, выберите экземпляр Visual Studio с загруженным решением и нажмите кнопку Да.

Отладка ASP.NET с IIS

Я настроил отладку в Visual Studio 2008 для IIS вместо встроенного сервера, поэтому я могу запускать переработку URL при разработке (используя IIRF).

Требуется некоторое время для работы (изменение разрешений, переустановка платформы .NET), но он работает.

Я выключил свою машину, и теперь, когда она вернулась на отладчик, не запустится. Я использую Parallels с WinXP на iMac.

«Не удается запустить отладку на сервере веб- . Не удалось запустить ASP.NET отладки. Более подробная информация может быть доступной, запустив проект без отладки»

Я прочитал всю куча сообщений на SO, а также googled тему, но никто, кажется, не дает рабочего ответа.

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

Создан 18 дек. 09 2009-12-18 15:45:15 Ariel

Постарайтесь быть более конкретным, какое именно сообщение об ошибке вы получите? – duckworth 18 дек. 09 2009-12-18 15:51:14

Добавлены сведения об ошибке на главный вопрос. Это довольно общий . – Ariel 18 дек. 09 2009-12-18 16:10:44

Вы проверили, не перезапустили ли перезагруженные конфигурации, которые вы сделали?, Просто чтобы убедиться. Спасибо – Mahesh Velaga 23 дек. 09 2009-12-23 06:22:13

Я прошел через все это, и это выглядит хорошо. Можете ли вы подумать о чем-то конкретном, над которым я должен стрелять? – Ariel 23 дек. 09 2009-12-23 16:34:28

Какая у вас версия IIS? – Eran Betzalel 11 янв. 10 2010-01-11 17:33:54

IIS6 на XP в параллелях vm – Ariel 11 янв. 10 2010-01-11 18:04:50

IIS6 не может быть установлен на XP, ваша версия IIS равна 5.1 – bashmohandes 14 янв. 10 2010-01-14 18:15:00

6 ответов

Таким образом, после целого много экспериментировал мне удалось найти проблему, а отчасти.

Основная проблема заключалась в том, что Keep-Alives не были включены, что, в свою очередь, не позволяло аутентификации работать должным образом. Благодаря этому отладчик действительно работает. Но. Он будет работать, только если я начну отладку с выбранной страницы .aspx. Если я начну отладку с выбранной .cs-страницей, это не будет.

Странно, но по крайней мере он работает!

Создан 03 июн. 10 2010-06-03 17:50:03 Ariel

Убедитесь, что вы включили проверку подлинности Windows для своего сайта в IIS.

В оснастке MMC IIS щелкните правой кнопкой мыши на своем веб-сайте, выберите «Свойства», выберите вкладку «Безопасность документов», нажмите «Изменить . » в разделе «Анонимный контроль доступа и проверки подлинности», и убедитесь, что выбрана «Интегрированная проверка подлинности Windows».

Создан 18 дек. 09 2009-12-18 16:33:55 Vadim K.

Да, она включена. Конфигурация работала, но остановилась после стандартного перезапуска. – Ariel 18 дек. 09 2009-12-18 16:35:52

Попробуйте вручную подключить отладчик VS к процессу w3svc.exe.

Создан 11 янв. 10 2010-01-11 17:32:57 Eran Betzalel

Это прекрасно работает, но это больно делать каждый раз, когда я хочу запустить код . – Ariel 11 янв. 10 2010-01-11 18:04:04

Действительно, но это лучше, чем вообще не отлаживать. – Eran Betzalel 12 янв. 10 2010-01-12 00:51:03

Убедитесь, что ваш веб-сайт IIS не связан ни с каким IP-адресом. В VS 2008 проблема связана с связанными IP-адресами.

Создан 14 янв. 10 2010-01-14 18:12:37 Joel Etherton

Запуск localhost работает, его просто VS не может отлаживать его. – Ariel 27 май. 10 2010-05-27 22:24:34

У меня была эта проблема, и это было потому, что мой пул приложений в IIS 7 был «классическим», а не «интегрированным», используя инфраструктуру .net 4.

Создан 26 май. 10 2010-05-26 10:37:52 campo

Я все еще на IIS6/Win XP/.NET 3.5, так что не будет причиной . – Ariel 27 май. 10 2010-05-27 22:23:40

Несколько раз, если элемент отладки элемента компиляции на web.config установлен в значение false, то есть полученная вами ошибка.

Также, если вы не являетесь членом группы «Администраторы», вы, как правило, получаете его ошибку.

Вы пробовали отлаживать с помощью встроенного веб-сервера>

Создан 26 май. 10 2010-05-26 11:34:36 ggonsalv

Он отлаживается со встроенным сервером, поэтому я не думаю, что это так . – Ariel 27 май. 10 2010-05-27 22:24:58

Отладка ASP.NET с IIS

Я настроил отладку в Visual Studio 2008 для IIS вместо встроенного сервера, поэтому я могу запускать переработку URL при разработке (используя IIRF).

Требуется некоторое время для работы (изменение разрешений, переустановка платформы .NET), но он работает.

Я выключил свою машину, и теперь, когда она вернулась на отладчик, не запустится. Я использую Parallels с WinXP на iMac.

«Не удается запустить отладку на сервере веб- . Не удалось запустить ASP.NET отладки. Более подробная информация может быть доступной, запустив проект без отладки»

Я прочитал всю куча сообщений на SO, а также googled тему, но никто, кажется, не дает рабочего ответа.

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

Создан 18 дек. 09 2009-12-18 15:45:15 Ariel

Постарайтесь быть более конкретным, какое именно сообщение об ошибке вы получите? – duckworth 18 дек. 09 2009-12-18 15:51:14

Добавлены сведения об ошибке на главный вопрос. Это довольно общий . – Ariel 18 дек. 09 2009-12-18 16:10:44

Вы проверили, не перезапустили ли перезагруженные конфигурации, которые вы сделали?, Просто чтобы убедиться. Спасибо – Mahesh Velaga 23 дек. 09 2009-12-23 06:22:13

Я прошел через все это, и это выглядит хорошо. Можете ли вы подумать о чем-то конкретном, над которым я должен стрелять? – Ariel 23 дек. 09 2009-12-23 16:34:28

Какая у вас версия IIS? – Eran Betzalel 11 янв. 10 2010-01-11 17:33:54

IIS6 на XP в параллелях vm – Ariel 11 янв. 10 2010-01-11 18:04:50

IIS6 не может быть установлен на XP, ваша версия IIS равна 5.1 – bashmohandes 14 янв. 10 2010-01-14 18:15:00

6 ответов

Таким образом, после целого много экспериментировал мне удалось найти проблему, а отчасти.

Основная проблема заключалась в том, что Keep-Alives не были включены, что, в свою очередь, не позволяло аутентификации работать должным образом. Благодаря этому отладчик действительно работает. Но. Он будет работать, только если я начну отладку с выбранной страницы .aspx. Если я начну отладку с выбранной .cs-страницей, это не будет.

Странно, но по крайней мере он работает!

Создан 03 июн. 10 2010-06-03 17:50:03 Ariel

Убедитесь, что вы включили проверку подлинности Windows для своего сайта в IIS.

В оснастке MMC IIS щелкните правой кнопкой мыши на своем веб-сайте, выберите «Свойства», выберите вкладку «Безопасность документов», нажмите «Изменить . » в разделе «Анонимный контроль доступа и проверки подлинности», и убедитесь, что выбрана «Интегрированная проверка подлинности Windows».

Создан 18 дек. 09 2009-12-18 16:33:55 Vadim K.

Да, она включена. Конфигурация работала, но остановилась после стандартного перезапуска. – Ariel 18 дек. 09 2009-12-18 16:35:52

Попробуйте вручную подключить отладчик VS к процессу w3svc.exe.

Создан 11 янв. 10 2010-01-11 17:32:57 Eran Betzalel

Это прекрасно работает, но это больно делать каждый раз, когда я хочу запустить код . – Ariel 11 янв. 10 2010-01-11 18:04:04

Действительно, но это лучше, чем вообще не отлаживать. – Eran Betzalel 12 янв. 10 2010-01-12 00:51:03

Убедитесь, что ваш веб-сайт IIS не связан ни с каким IP-адресом. В VS 2008 проблема связана с связанными IP-адресами.

Создан 14 янв. 10 2010-01-14 18:12:37 Joel Etherton

Запуск localhost работает, его просто VS не может отлаживать его. – Ariel 27 май. 10 2010-05-27 22:24:34

У меня была эта проблема, и это было потому, что мой пул приложений в IIS 7 был «классическим», а не «интегрированным», используя инфраструктуру .net 4.

Создан 26 май. 10 2010-05-26 10:37:52 campo

Я все еще на IIS6/Win XP/.NET 3.5, так что не будет причиной . – Ariel 27 май. 10 2010-05-27 22:23:40

Несколько раз, если элемент отладки элемента компиляции на web.config установлен в значение false, то есть полученная вами ошибка.

Также, если вы не являетесь членом группы «Администраторы», вы, как правило, получаете его ошибку.

Вы пробовали отлаживать с помощью встроенного веб-сервера>

Создан 26 май. 10 2010-05-26 11:34:36 ggonsalv

Он отлаживается со встроенным сервером, поэтому я не думаю, что это так . – Ariel 27 май. 10 2010-05-27 22:24:58

Илон Маск рекомендует:  Форматирование числа. Округление числа до 2х знаков после запятой. Форматирование ценысуммы.
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Примечание