我正在尝试使用过滤器将某些文本插入ScriptResource.axd,当我将Js放入CompositeScript元素时,ScriptManager会生成ScriptResource.axd。
我觉得这个任务几乎不可能。
在Asp.Net术语中翻译的这个问题意味着我试图过滤内置处理程序的输出(System.Web.Handlers.ScriptResourceHandler:没有源代码)..
当处理程序与请求关联时,我甚至无法加载可以应用过滤的HttpModules。所以我尝试使用HttpModule(即在PostRequestHandlerExecute中)从早期事件调用System.Web.Handlers.ScriptResourceHandler的“ProcessRequest”,然后在PostReleaseRequestState上应用过滤器...这给了我一个字符串,其编码是不可能的转换(可能已经使用了gzip?)。
我想做的甚至可能吗?你能否就如何进行提出任何建议?
如果您需要更多信息或源代码,请与我们联系。
答案 0 :(得分:0)
请原谅我,如果不言而喻,如果你只想在.axd中插入添加输出(而不是改变输出),为什么不在引用的页面中包含附加输出? .axd或其他外部资源?如果只需添加额外的输出就可以获得更高的效率。
答案 1 :(得分:0)
最后我对压缩的假设是正确的。我设法通过禁用它来获取ScriptResource.axd文件内容。事实上,在web.config中有一个关于此的配置,您可以在其中禁用压缩。它在本节中:
<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="false" enableCaching="true" />
<scripting>
<system.web.extensions>
现在我可以在PostReleaseRequestState中获取HttpModule中的内容,如果我想,我可以在替换字符串后进行一些GZip压缩。我会做一些测试,看看我是否还需要禁用缓存......