Проблемы с ASP.NET, машинным уровнем web.config и элементом location - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть сервер под управлением Windows Web Server 2008 R2. На уровне машины web.config есть следующие записи:

<location path="Preview">
    <appSettings>
        <add key="Environment" value="Preview" />
    </appSettings>
</location>

<location path="Staging">
    <appSettings>
        <add key="Environment" value="Staging" />
    </appSettings>
</location>

<location path="Production">
    <appSettings>
        <add key="Environment" value="Production" />
    </appSettings>
</location>

У меня есть веб-сайт, который я настроил бы в направлении D:\Sites\Preview\, поэтому полный путь будет D:\Sites\Preview\WebSite1. Если я поместил простой файл aspx, который просто выводит значение ConfigurationManager.AppSettings["Environment"], он отображает значение Preview.

Мне не ясно, как именно это работает, но это так. Я настроил это несколько недель назад, и только сейчас попытался повторить это - я поместил второй сайт в каталог D:\Sites\Preview\, ожидая, что он автоматически подберет соответствующие записи appSettings, но по какой-то причине он не - на той же странице aspx ничего не отображается.

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

Есть какие-нибудь идеи относительно того, чего мне не хватает? Элемент местоположения предназначен для такой работы, или я просто нашел какую-то волшебную удачу на своем первом сайте?


UPDATE:

Фактические названия веб-сайтов, которые я настроил:

  • Preview.Wishinator in D:\Sites\Preview\DanDoes.Wishinator.Site (это тот, который работает)
  • Preview.ShowRoom in D:\Sites\Preview\DanDoes.ShowRoom (не работает)
  • Тест в D:\Sites\Preview\Test (не работает)

1 Ответ

0 голосов
/ 15 апреля 2010

Приведенные выше теги местоположения должны совпадать с именем сайта в IIS, чтобы оно совпадало, поэтому я предполагаю, что ваш сайт в \ Preview \ WebSite1 был назван в IIS «Предварительный просмотр».

Таким образом, для подведения итогов сопоставление производится не по имени папки, а по «имени сайта», настроенному в IIS.

...