Http-модули, интегрированные в конвейер обработки IIS 7 - PullRequest
1 голос
/ 13 мая 2009


Q1-IIS7 по умолчанию автоматически регистрирует FormsAuthenticationModule (который определен в файле root web.config ), но содержит термин « модуль Http, интегрируемый в IIS 7 конвейер обработки относится ”только к тем случаям, когда этот зарегистрированный модуль также настроен для работы с приложениями не-ASP.Net?

По моему мнению, если модуль не настроен для работы с приложениями, не относящимися к Asp.Net, даже если он автоматически регистрируется IIS 7, тогда мы не можем утверждать, что он интегрирован в конвейер обработки IIS 7?!


Q2

A) IIS7 автоматически регистрирует некоторые из модулей, определенных в корневом файле web.config . Если мы настроим (через диспетчер IIS7) UrlAuthorizationModule (который определен в корне web.config и который IIS 7 регистрируется по умолчанию) для использования также с приложениями, не относящимися к Asp.Net, затем IIS7 помещает следующую запись в корневой каталог приложения web.config file:

  <modules>
        <remove name="UrlAuthorization" />
        <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" />


Но почему в IIS 7 также включен элемент <remove name="UrlAuthorization" />?


B) Я полагаю, что если мы затем передумаем и решим использовать этот модуль только с приложениями Asp.Net, мы сможем безопасно удалить следующий элемент:

<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" /> 

из корневого файла web.config файла приложения, поскольку теперь наше приложение может использовать UrlAuthorizationModule , определенный в корневом web.config?!


Q3 * * тысяча пятьдесят-одна

Я понимаю, что IIS7 по умолчанию регистрируется FormsAuthenticationModule , определенный в корневом web.config файле, но предположим, что мы регистрируем другой FormsAuthenticationModule в web.config содержится в корневом каталоге какого-либо веб-приложения.

  • Я предполагаю, что при получении запроса на веб-страницу для этого запроса будут выполнены два экземпляра FormsAuthenticationModule ?


1072 * спасибо *


EDIT:


A1.

"интегрированные" и "классические" конвейеры обработки - это свойство пула приложений. Правильно, что модули могут работать только в «интегрированных» конвейерах.

Мой вопрос касался IIS 7 в интегрированном режиме. А именно, в моей книге используется термин « модуль Http, интегрируемый в конвейер обработки IIS 7, который ссылается на », чтобы описать ситуацию, когда пользовательский обработчик Http был зарегистрирован в IIS 7 (работает в интегрированном режиме). Но это не говорит, относится ли этот термин к ситуации, когда этот зарегистрированный обработчик настроен для работы также с приложениями, не относящимися к ASP.NET, или мы также используем этот термин, когда зарегистрированный обработчик Http настроен для работы только с приложениями Asp.Net?


A2. Б. Да, вы можете удалить строки «удалить» и «добавить». Это то, что будет делать графический интерфейс, если вы вернете его обратно для наследования настроек.

Но в моем случае IIS 7 не удаляет

<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" /> 

из корневого файла приложения web.config file, он просто меняет значение атрибута preCondition обратно на "managedHandler"


A3. Я думаю, что вы получите ошибку, если попытаетесь добавить 2 модуля с одинаковым атрибутом name. Если вы действительно хотите, чтобы он был там дважды, измените имя второго.

Я прошу прощения, я должен быть более конкретным, но мой вопрос касался ситуации, когда два модуля имели разные имена.

Таким образом, в этом случае будут запущены два экземпляра FormsAuthenticationModule , работающего?


1128 * спасибо *

Ответы [ 2 ]

1 голос
/ 16 мая 2009

Только что заметил, что вы используете Stackoverflow. Пожалуйста, проверьте мои последние ответы на iis.net.

http://forums.iis.net/t/1157580.aspx

Важно то, что applicationHost.config и root web.config на самом деле имеют разные значения, так что не смущайтесь, если элемент появляется в обоих файлах. Это на самом деле имеет разные значения.

1 голос
/ 13 мая 2009

A1. "интегрированные" и "классические" конвейеры обработки - это свойство пула приложений. Правильно, что модули могут работать только в «интегрированных» конвейерах.

A2. О. Чтобы изменить атрибут «preCondition», он должен был удалить первую версию и добавить ее снова.

A2. Б. Да, вы можете удалить строки «удалить» и «добавить». Это то, что будет делать графический интерфейс, если вы вернете его обратно для наследования настроек.

A3. Я думаю, что вы получите ошибку, если попытаетесь добавить 2 модуля с одинаковым атрибутом name. Если вы действительно хотите, чтобы он был там дважды, измените имя второго.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...