У меня есть ISAPI-фильтр для IIS6, который я разрабатывал некоторое время, но я только заметил, что что-то беспокоит. Каждый раз, когда у меня установлен фильтр, и я загружаю файл, загрузка файла становится очень медленной. С удаленного компьютера я получаю ~ 120 КБ / с без установленного фильтра и ~ 45 КБ / с с установленным фильтром.
Похоже, это связано с обратным вызовом SF_NOTIFY_SEND_RAW_DATA
. Всякий раз, когда я регистрируюсь для этого обратного вызова, я получаю медленные загрузки, когда я не регистрируюсь для этого, все хорошо.
Даже если я сделаю свою HttpFilterProc
функцию, просто сразу же вернусь, вот так:
DWORD WINAPI HttpFilterProc( PHTTP_FILTER_CONTEXT pfc,
DWORD notificationType,
LPVOID pvNotification )
{
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
Я также пытался вернуть SF_STATUS_REQ_HANDLED_NOTIFICATION
с тем же результатом.
Возможно, у меня есть какая-то настройка сборки в моей DLL, которая вызывает медленное выполнение функции обратного вызова, или это так, как это будет с ISAPI?