IIS 6 принудительно устанавливает AppRoot / Starting Point в верхний регистр, когда Virtual Directory импортируется из файла - PullRequest
3 голосов
/ 13 апреля 2010

Я искал в интернете это и не смог ничего найти (ну, один удаленно релевантный пост), так что я здесь.

У нас есть несколько приложений ASP.NET в IIS 6, использующих проверку подлинности с помощью форм с выделенным путем для каждого приложения. Поскольку путь чувствителен к регистру, он должен точно соответствовать разделу пути URL. Однако из-за неправильного расположения в метабазе IIS 6 для AppRoot (или начальной точки в пользовательском интерфейсе IIS) bowser не отправляет cookie-файл формы на сервер всякий раз, когда URL-адрес предварительно разрешен на сервере и отправлен клиенту в неправильном случае.

Пример:
URL приложения = "https://Test.net/Application1"
Путь cookie = / Application1
Метабаза AppRoot = / LM / W3SVC / 1393818691 / ROOT / APPLICATIONPATH1
Разрешенный URL = "https://Test.net/APPLICATIONPATH1"

Теперь к коренной причине ...
Мы создаем виртуальные каталоги на тестовом сервере вручную в конкретном случае (соответствует Path для каждого приложения). Затем мы экспортируем виртуальный каталог с помощью пользовательского интерфейса в файл XML, который затем импортируется на другой сервер (скажем, рабочий), и в этот момент IIS решает использовать метабазу в верхнем регистре для элемента AppRoot.

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

Ответы [ 2 ]

1 голос
/ 23 апреля 2010

Вы пытались настроить свой сайт IIS с помощью библиотеки задач SDC для MSBuild?

Сайт CodePlex

Он прост в использовании и позволяет полностью автоматизировать развертывание.

В противном случае быстрое исправление будет вручную редактировать Metabase.xml:

WINDOWS \ system32 \ Inetsrv \ Metabase.xml

Я уже сталкивался с этой проблемой и не нашел пути ее решения при импорте xml.

0 голосов
/ 30 мая 2011

Я нашел другой способ ее решения ...

В свойствах приложения я удалил приложение, перезапустил IIS и снова добавил приложение. Перезапуск приводит к обновлению метабазы ​​на диске и удалению неправильной записи. Если вы не перезапустите компьютер, метабаза все равно будет иметь заглавные буквы. После создания нового приложения оно будет добавлено в метабазу с правильным корпусом, и проблема будет решена.

Может быть, нужно сделать больше, но это более безопасно, чем непосредственное изменение метабазы!

...