У меня есть простой HTTPModule, который делает некоторое пользовательское управление состоянием сеансов.
public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(ProcessBeginRequest);
ActivityLogger.LogInfo( DateTime.UtcNow.ToLongTimeString() + " In Init " + HttpContext.Current.Request.Url.AbsoluteUri);
}
и
public void ProcessBeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In ProcessBeginRequest ");
if (application != null)
{
string requestURL = application.Context.Request.Url.ToString();
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In ProcessBeginRequest " + requestURL);
}
return;
}
Когда я выполнил этот код с точками останова, я видел, что этот модуль был вызван даже для статических файлов как изображения, js и CSS. Кто-либо испытал это? Я думаю, что HTTP-модули только зацеплялись к событиям в конвейере http для страниц asp.net. Они также зацепляются к статическим ресурсам? Или это только с Кассини?
Среда: VS2008 - сервер Кассини
PS: Я действительно пробовал его Win2k8 IIS7 в нашей песочнице (своего рода новое), и попробованный для записи его в файл журнала (поскольку у нас нет VS там), но не мог записать в файл журнала. Уверено его некоторая проблема полномочий записи. Может любой указывать на меня на некоторый ресурс, который говорит мне, как установить полномочия записи для каталогов при выполнении ASP.net с IIS7 в W2k8
Edit1: Я понимаю, что использование Интегрированного конвейера расширило бы конвейеры http для статических и управляемых ресурсов, подобных http://aspnet.4guysfromrolla.com/articles/122408-1.aspx и http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis7/
Мы используем классический конвейер в нашем напоминании. Но все еще заинтересованный знанием, что испытали другие люди.
Question2: Используя IIS7 в интегрированном режиме, это уменьшит производительность? Скажите, что у Вас есть несколько присоединений модулей с конвейером, каким количеством было бы влияние производительности? Было бы хорошо, если кто-то может указать на меня на некоторые базовые исследования, сделанные для этого.
Похоже, что есть способ сделать это
http://learn.iis.net/page.aspx/121/iis-70-modules-overview/#disabling
Настройка Предварительное условие = «Управляется»
и <1118963] <Модули RunallManagedModulesFallRequests = "false" />
будет делать трюк
Примечание для себя: http://code.google.com/p/talifun-web/wiki/staticfilehnhandler Нужно исследовать этот StaticFileHandler
Список литературы:
http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-Pipeline/
Исключите HTPModule из бега для статического контента на IIS7
* * * * См. эту функцию в действии : * * * *
function N2L($number)
{
$result = array();
$tens = floor($number / 10);
$units = $number % 10;
$words = array
(
'units' => array('', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen', 'Seventeen', 'Eighteen', 'Nineteen'),
'tens' => array('', '', 'Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety')
);
if ($tens < 2)
{
$result[] = $words['units'][$tens * 10 + $units];
}
else
{
$result[] = $words['tens'][$tens];
if ($units > 0)
{
$result[count($result) - 1] .= '-' . $words['units'][$units];
}
}
if (empty($result[0]))
{
$result[0] = 'Zero';
}
return trim(implode(' ', $result));
}
-121--1699034- Это происходит потому, что свойство CSS "visibility" наследуется, но не влияет на макет страницы. Таким образом, если для элемента задано скрытие, все его нижестоящие элементы будут отображаться только в том случае, если они явно не будут видимы (например, если задано значение visibility: visible
).
Для получения требуемого поведения необходимо сбросить свойство CSS, которое будет унаследовано. Это можно сделать, используя ключевое слово inherit
в качестве значения visibility: inherit
EDIT Или в качестве Javascript:
element.style.visiblity = 'inherit';
-121--3823365- Да, он будет вызван для любого типа файлов.
В этих модулях типично фильтровать все, что вас не интересует, например, проверяя, содержит ли ""/_ layouts" "в SharePoint.