В соответствии с http://support.microsoft.com/kb/2661403, в последних обновлениях Windows, выпущенных в бюллетене по безопасности Microsoft MS11-100, для параметра MaxHttpCollectionKeys по умолчанию установлено значение 1000. Это вызвало некоторые проблемы с некоторыми отчетами SSRS 2008 моей компании.Хотя легко использовать более высокое значение, чтобы заставить отчеты работать, я хотел бы узнать немного больше о том, как это работает.Я понимаю, что этот конкретный параметр - это HTTP, а не только SSRS, но этот SSRS является контекстом моего исследования.Моя цель - найти какой-то способ подсчета значения MaxHTTPCollectionKeys для моих отчетов, очевидно, глядя на худший случай, в котором будет наибольшее число возможных значений параметров.
Так что мойГлавный вопрос заключается в следующем: что касается отчета SSRS, что представляет собой элемент, который считается и сравнивается с параметром MaxHTTPCollectionKeys?Очевидно, что есть некоторая корреляция с общим числом значений из всех параметров отчета, но как это работает точно?
Я сделал несколько тестовых отчетов (используя VS2008) и запустил их в своем локальном отчете 2008 R2 R2сервер и обнаружил, что значение MaxHTTPCollectionKeys не совпадает точно с общим числом значений параметров, переданных во время выполнения.Один из моих тестовых отчетов содержал только один многозначный параметр типа INTEGER, для которого я определил список допустимых значений - целые числа 1 - 10. Я установил значение для MaxHTTPCollectionKeys = 35 (в файле веб-конфигурации менеджера отчетов. Примечание - iсбросил сервер отчетов перед выполнением моих тестов) и обнаружил, что отчет будет работать, когда я выберу шесть значений (1 - 6, 2 - 7 - любую комбинацию из шести), но не 7. Это предполагает, что 29 элементов включены в коллекцию дозахват значений параметров.Кроме того, я установил MaxHTTPCollectionKeys = 30 и обнаружил, что могу выбрать только одно значение для параметра для запуска отчета.Когда я установил MaxHTTPCollectionKeys = 29, я вообще не смог запустить отчет (многозначные параметры не могут быть нулевыми).
Затем я изменил отчет и обнаружил, что добавив второй параметр (в основном, копию первогомногозначный тип int со списком из десяти целых чисел) базовое число выросло с 29 до 30. То есть, когда я установил MaxHTTPCollectionKeys = 35, я мог выбрать только пять значений между двумя моими параметрами (различные комбинации суммыэлементов для каждого параметра ни на что не влияло).
Я сделал 3-й отчет о тестировании без параметров вообще (весь отчет содержал текстовое поле, в котором отображалось текущее время) и обнаружил, что когда MaxHTTPCollectionKeys = 27,отчет работал, когда было 26 лет, он не работал.
Повторюсь, моя цель - найти какой-то способ подсчета значения MaxHTTPCollectionKeys для учета моих отчетов, очевидно, рассматривая наихудший случай.отчет, который будет иметь наибольшее количество возможных параметров values.Кто-нибудь может предложить некоторые руководящие принципы для расчета этого?
Спасибо всем