Default.aspx с IIS 6.0 и.Net 4?

  1. Мы развернули сайт .net 4 asp.net на IIS 6.0.
  2. Default.aspx настроен как один из документа по умолчанию.
  3. Когда мы получаем доступ к сайту с помощью следующего URL
  4. 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.

7
задан Malachi 29 July 2013 в 16:23
поделиться

3 ответа

Проверьте журналы сервера, они, вероятно, дадут вам лучшее представление о том, что происходит.

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

2
ответ дан 6 December 2019 в 05:42
поделиться

Я думаю, что в 4.0 настройки страницы по умолчанию фактически хранятся в web.config. В IIS 7.0 IIS считывает файл web.config, чтобы определить, что делать со страницей по умолчанию. Я думаю, что IIS 6.0 не читает настройку.

0
ответ дан 6 December 2019 в 05:42
поделиться

С новым фреймворком .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>

У вас есть несколько вариантов;

  1. Понизьте версию приложения .NET до версии 3.5, которую Visual Studio 2010 значительно упростит. Просто перейдите в свойства веб-сайта -> вкладка «Приложение», и там есть раскрывающийся список со всеми выпусками фреймворка, выберите 3.5, вы VS2010 перезагрузите проект и измените web.config, если вы добавили ссылку на веб-службу, которую вам, возможно, придется удалите их и повторно добавьте в 3.5
  2. Чтобы настроить IIS6 и веб-конфигурацию для решения проблемы. Я имею дело со второй частью:

  3. В консоли IIS 6 вам нужно щелкнуть правой кнопкой мыши свой проект, выбрать свойство и проверить вкладку ASP.Net, выбрана ли Framework 4 или нет. Если нет, выберите фреймворк 4.

Но вы все равно можете столкнуться с той же ошибкой из-за пула приложений; у вас может быть один и тот же пул приложений для двух разных веб-приложений фреймворка.IIS 6 не позволяет иметь более одной платформы одновременно, работающей в одном экземпляре (это означает, что один пул приложений не может использоваться для двух разных платформ), например IIS7, который может создавать пул приложений, ориентированный на другую платформу.

  1. Чтобы решить эту проблему, вам необходимо создать пул приложений и назначить этот пул приложений веб-приложению Framework 4. Чтобы назначить пул приложений, в консоли IIS откройте раздел свойств веб-приложения, щелкните вкладку «Домашний каталог» и выберите пул приложений, который вы создали ранее, из раскрывающегося списка.
  2. Эти двое могут когда-нибудь полностью решить вашу проблему. Вы можете получить ошибку как «Страница 404 не найдена». Хотя теперь у вас могут возникнуть проблемы во время разработки.
  3. В основном проблема не найдена, это причина другой проблемы, скрытой от IIS6. Но вам нужно увидеть настоящую причину. Здесь вам нужно перейти в консоль IIS6 и открыть «узел расширения веб-службы», который находится прямо под узлом «веб-сайт по умолчанию». Вы увидите весь список фреймворков ASP.Net там, по умолчанию эти фреймворки могут быть запрещены, поэтому выберите ASP.Net Framework 4 и нажмите кнопку «Разрешить». Просмотрите свой веб-сайт сейчас, вы получите другую ошибку рядом с «Страница 404 не найдена». Вы можете получить следующую ошибку:
  4. Значение атрибута compilerVersion в параметрах поставщика должно быть v4.0. При просмотре веб-сайта вы увидите следующую ошибку Значение атрибута compilerVersion в параметрах поставщика должно быть v4.0 или более поздней версии, если вы компилируете для версии 4.0 или более поздней версии.NET Framework. Чтобы скомпилировать это веб-приложение для .NET Framework версии 3.5 или более ранней, удалите атрибут targetFramework из элемента файла Web.config. Чтобы решить эту проблему, вам необходимо изменить файл веб-конфигурации, как показано ниже:

Ранее значение 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.

28
ответ дан 6 December 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: