2012-02-17 3 views
2

Я испытываю следующую проблему в IIS6. Я полностью понимаю проблему, я просто ищу лучшее решение.Могу ли я установить свойства «Веб-сайт по умолчанию» через файл web.config дочернего веб-сайта? (IIS6)

У меня есть следующие:

  • Default Web Site
    • apiservices
    • ourwebsite

На сайте 'apiservices' работает под .NET Framework v2.0 все еще. Веб-сайт 'ourwebsite' работает под .NET Framework v4.0 с использованием MVC3.

Приятная новая функция, представленная в .NET 4.0, обработка ссылок без расширения, вызывает некоторые проблемы из-за наших смешанных версий .NET Framework.

Если я иду:

  • 'ourwebsite' -> правая кнопка мыши -> Свойства -> вкладка виртуального каталога -> Конфигурация. Я вижу, что существует сопоставление подстановочных приложений для .NET Framework v4.0 aspnet_isapi.dll. Это правильно, но недостаточно из-за нашей настройки.
  • 'apiservices' -> правый клик -> свойства -> вкладка виртуального каталога -> конфигурация. Я вижу, что существует сопоставление подстановочных приложений в .NET Framework v2.0 aspnet_isapi.dll Это правильно для нашей установки И не должно быть установлено в 4.0 или оно сломается.

Теперь, здесь ошибка, вносимая в связи с изменениями Microsoft: Поскольку ASP.NET v4.0 Приложение не имеет его подстановочные отображение, определенное на корневом уровне, Default Web Site, PageMethods внутри нашего приложения получить неправильное маршрутизацию и 404.

Сумасшедшая часть? Если я перехожу к:

  • «Веб-сайт по умолчанию» -> правый клик -> свойства -> вкладка «Домашний каталог» -> конфигурация. И затем, отсюда, добавьте .NET Framework v4.0 в мои карты приложений подстановочных знаков.
  • Я нажимаю OK. Мне предлагается указать, на каких детских сайтах я хочу применить эти изменения, потому что они оба определяют свои собственные сопоставления приложений подстановочных знаков. я указать здесь, что я только хочу, чтобы применить это отображение подстановочных к «ourwebsite», а не «» apiservices

Применение этого изменения решает нашу проблему.

Теперь, мне интересно, как мне это настроить? Является ли это работой файла web.config - может ли он управлять настройками верхнего уровня, как это? Или это задача пользовательского действия нашего установщика?

EDIT: Похоже, мне нужно сделать это с помощью WIX. В настоящее время у меня есть код ниже, чтобы установить карту подстановочных знаков на уровне ребенка.Я изучаю способы установки его на корневом уровне, не переписывая подстановочные отображения «apiservices»:

<iis:WebVirtualDir Id="CSWebVirtualDir" Alias="[TARGETCSWEBVDIR]" Directory="CABLESOLVEWEBDIR" WebSite="DefaultWebSite"> 
    <iis:WebApplication Id="CSWebApplication" Name="[TARGETCSWEBVDIR]" AllowSessions="yes" ParentPaths="yes" ScriptTimeout="900" SessionTimeout="60" WebAppPool="CSWebAppPool" ClientDebugging="no" ServerDebugging="no" Isolation="medium"> 
     <iis:WebApplicationExtension Executable="[FRAMEWORKROOT]v4.0.30319\aspnet_isapi.dll" CheckPath="no" Script="yes" Verbs="GET,HEAD,POST" /> 
    </iis:WebApplication> 
    <iis:MimeMap Id="MIMEXAP" Type="application/x-silverlight-app" Extension=".xap" /> 
    <iis:MimeMap Id="MIMEXAML" Type="application/xaml+xml" Extension=".xaml" /> 
</iis:WebVirtualDir> 

<iis:WebVirtualDir Id="CSWebAPIVirtualDir" Alias="[TARGETCSWEBAPIVDIR]" Directory="CABLESOLVEWEBAPIDIR" DirProperties="CSWebAPIVirtualDirProperties" WebSite="DefaultWebSite"> 
    <iis:WebApplication Id="CSWebAPIApplication" Name="[TARGETCSWEBAPIVDIR]" ParentPaths="yes" AllowSessions="yes" ScriptTimeout="900" SessionTimeout="60" WebAppPool="CSWebAPIAppPool" ClientDebugging="no" ServerDebugging="no" Isolation="medium"> 
     <iis:WebApplicationExtension Executable="[FRAMEWORKROOT]v2.0.50727\aspnet_isapi.dll" CheckPath="no" Script="yes" Verbs="GET,HEAD,POST" /> 
    </iis:WebApplication> 
</iis:WebVirtualDir> 
+0

Оба Сайта работают под одним и тем же пулом приложений в IIS? – Rondel

+0

Нет, у них есть отдельные пулы приложений. –

ответ

0

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