http://testsite
Мы ожидаем, что это представит
http://testsite/Default.aspx
Но вместо этого мы добираемся 404 Not found error
. Мы не сделали имел эту проблему, когда она была развернута на.Net 2.0. Только вещь, которая изменилась на сервере, состоит в том, что мы используем.NET 4 вместо.NET 2.0.
ОБНОВЛЕНИЕ: Я попробовал следующую ссылку, но она не работала.
Получение ASP.NET 4 рвения на IIS6
Версией платформы на сервере является.NET 4 RC. Поможет, устанавливаем ли мы последнюю.NET 4 версии на сервере?
Обновление: вопрос решен теперь. Проблемой было Стороннее управление загрузкой, которое мы использовали, который добавил его собственный HttpHandler в сети. Конфигурация. Этот HttpHandler начал перестать работать в.NET 4.
Проверьте журналы сервера, они, вероятно, дадут вам лучшее представление о том, что происходит.
Вы можете найти путь к файлу журнала, щелкнув правой кнопкой мыши веб-сайт в IIS и выбрав «Свойства». Затем перейдите на вкладку «Веб-сайт», в разделе «Включить ведение журнала» щелкните «Свойства», и откроется окно свойств ведения журнала, в котором отображается путь к файлу журнала.
Я думаю, что в 4.0 настройки страницы по умолчанию фактически хранятся в web.config. В IIS 7.0 IIS считывает файл web.config, чтобы определить, что делать со страницей по умолчанию. Я думаю, что IIS 6.0 не читает настройку.
С новым фреймворком .NET 4 возникают некоторые проблемы, если вы используете его на IIS 6 Windows Server. IIS 6 не позволяет одновременно запускать более одной платформы в одном экземпляре, например IIS7, который может создавать пул приложений, ориентированный на другую платформу. Когда IIS 6 работает под ASP.NET 2.0 (3.0 и 3.5 являются надмножеством, а не фреймворками), вы получите эту ошибку, если приложение 4.0. Ошибка конфигурации Описание: произошла ошибка при обработке файла конфигурации, необходимого для обслуживания этого запроса. Просмотрите приведенные ниже сведения о конкретных ошибках и соответствующим образом измените файл конфигурации. Сообщение об ошибке парсера: нераспознанный атрибут targetFramework. Обратите внимание, что имена атрибутов чувствительны к регистру.
Source Error:
Line 11: </configSections>
Line 12: <system.web>
Line 13: <compilation debug="true" targetFramework="4.0">
Line 14: </compilation>
Line 15: <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> </ system.web>
У вас есть несколько вариантов;
Чтобы настроить IIS6 и веб-конфигурацию для решения проблемы. Я имею дело со второй частью:
В консоли IIS 6 вам нужно щелкнуть правой кнопкой мыши свой проект, выбрать свойство и проверить вкладку ASP.Net, выбрана ли Framework 4 или нет. Если нет, выберите фреймворк 4.
Но вы все равно можете столкнуться с той же ошибкой из-за пула приложений; у вас может быть один и тот же пул приложений для двух разных веб-приложений фреймворка.IIS 6 не позволяет иметь более одной платформы одновременно, работающей в одном экземпляре (это означает, что один пул приложений не может использоваться для двух разных платформ), например IIS7, который может создавать пул приложений, ориентированный на другую платформу.
Ранее значение CompilerVersion было установлено как v3.5, но мы уже изменили нашу targetFranework на 4. Таким образом, согласно сообщению об ошибке выше, атрибут compilerVersion в параметрах поставщика должен иметь значение v4.0 или более поздней версии, если вы используете компиляция для .NET Framework версии 4.0 или более поздней.
Hence your new setting will be as below:
<providerOption name="CompilerVersion" value="v3.5"/>
Надеюсь, это решит вашу проблему миграции ASP.Net 4 и размещения на IIS6.