Применение фильтра Asp.Net для изменения содержимого ScriptResource.axd - PullRequest
1 голос
/ 21 октября 2011

Я пытаюсь использовать фильтр для вставки определенного текста в ScriptResource.axd, который генерируется ScriptManager, когда я помещаю мои J в элемент CompositeScript.

Я считаю эту задачу почти невозможной.

Эта проблема, переведенная в терминах Asp.Net, означает, что я пытаюсь отфильтровать вывод из встроенного обработчика (System.Web.Handlers.ScriptResourceHandler: без исходного кода) ..

Когда с запросом связан обработчик, HttpModules, где я могу применить фильтрацию, даже не загружаются. Поэтому я попытался вызвать «ProcessRequest» System.Web.Handlers.ScriptResourceHandler из более раннего события, используя HttpModule (то есть в PostRequestHandlerExecute), а затем применить фильтр к PostReleaseRequestState ... Это дает мне строку с кодировкой, которую невозможно конвертировать (может, gzip уже используется?).

Возможно ли то, что я пытаюсь сделать? Можете ли вы дать мне какие-либо предложения о том, как вы будете действовать?

Дайте мне знать, если вам нужна дополнительная информация или исходный код.

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

В конце концов, мое предположение о сжатии оказалось верным. Мне удалось получить содержимое файла ScriptResource.axd, отключив его. На самом деле в web.config есть конфигурация, в которой вы можете отключить сжатие. Именно в этом разделе:

<system.web.extensions>
   <scripting>
      <scriptResourceHandler enableCompression="false" enableCaching="true" />
   <scripting>
<system.web.extensions>

Теперь я могу получить содержимое в модуле HttpModule в PostReleaseRequestState и, если захочу, теперь могу выполнить некоторое сжатие GZip после замены строк. Я проведу некоторое тестирование, чтобы увидеть, нужно ли мне также отключить кэширование ...

0 голосов
/ 25 октября 2011

Простите, если это само собой разумеется, если вы только хотите вставить дополнительный вывод в .axd (в отличие от изменения вывода), почему бы вам просто не включить дополнительный вывод на страницу, которая ссылается на .axd или другой внешний ресурс? Это было бы гораздо эффективнее, если бы вам просто нужно было добавить дополнительный вывод.

...