JS, Изображения и CSS, прерываемый HTTPModule

У меня есть простой 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 в интегрированном режиме, это уменьшит производительность? Скажите, что у Вас есть несколько присоединений модулей с конвейером, каким количеством было бы влияние производительности? Было бы хорошо, если кто-то может указать на меня на некоторые базовые исследования, сделанные для этого.

5
задан ram 21 January 2010 в 21:20
поделиться

2 ответа

Похоже, что есть способ сделать это

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

Ошибка: IIS7 Управляемые запросы

http://msdn.microsoft.com/en-us/library/bya7fh0a.aspx

14
ответ дан 18 December 2019 в 13:14
поделиться

* * * * См. эту функцию в действии : * * * *

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.

0
ответ дан 18 December 2019 в 13:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: