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 * спасибо *