Эта проблема сводит меня с ума: я работал над недавно созданным проектом, и внезапно мне не удалось отладить этот конкретный проект.
Я использую локальный IIS 7.5 с модулем IIS UrlRewrite 2. Моя машина для разработки - это Windows 7 x64 с Visual Studio 2010 Professional.
Отладка в других проектах все еще работает. Я установил запись в локальном IIS и начинаю отладку своих проектов ASP.net 4.0 в моем локальном IIS.
Мне удалось отследить проблему отладки до неожиданного поведения с помощью модуля URL Rewrite 2 и воспроизвести проблема с недавно созданным проектом веб-приложения 4.0:
После добавления простого правила перезаписи URL с помощью административного конструктора в IIS я не могу начать отладку, потому что получаю сообщение об ошибке
Unable to start debugging on the web server. Could not start ASP.Net debugging.
More information may be available by starting the project without debugging.
(Я также пробовал копировать настройки URL-Rewrite из других проектов, пока безуспешно)
Запуск проекта без отладки работает отлично и не выявляет никаких ошибок!
Помимо этого, я добавил только несколько символов в текст по умолчанию файла default.aspx.
Настройки сайта в IIS:
- Я создал новый сайт, назначил привязку (какой порт не имеет значения, например, я попробовал порт 86), как всегда.
- Я установил идентификацию пользователя во вновь созданном пуле приложений на "networkservice"
- Установите версию платформы только что созданного пула приложений на "4.0"
- Я дал пользователю "networkservice" полные права доступа к каталогу в каталог решений
Я также пробовал несколько других комбинаций настроек, таких как включенная WindowsAuthentification, FormsAuthentication и так далее. Пока безуспешно.
Это веб-вкладка проекта:
Серверы: используйте локальный веб-сервер IIS, URL-адрес проекта "http: // localhost: 86 /" (я также пробовал использовать "http: // localhost: 86 ", похоже, без разницы)
Что здесь происходит? Я схожу с ума здесь. Есть какие нибудь идеи как это починить? (Не использовать модуль UrlRewrite 2.0 - это не вариант)
И, наконец, web.config:
<?xml version="1.0" encoding="UTF-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<rewrite>
<rules>
<rule name="LowerCaseRule1" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<action type="Redirect" url="{ToLower:{URL}}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Обновление: очевидно, я могу отлаживать с помощью ActionType = "Rewrite", но не с помощью ActionType = "Redirect". Тем не менее, по-прежнему нет реального варианта, потому что я хочу, чтобы эта проблема была исправлена в первую очередь, а не пыталась найти какое-то обходное решение. Я бы очень хотел предложить вознаграждение прямо сейчас, но система меня не позволяет.
Кто-нибудь может воспроизвести мои шаги? (Пока я получил это на 2 разных компьютерах)