场景:我有一个复杂的 Asp.net 应用程序,通过 HttpModules 中以编程方式构造的控件集合为各种单元提供服务。其中一些控件使用 Asp.NET Ajax。
在许多不同的单元中,ScriptResource.axd 的平均传输大小约为 27k。
我的天花板只允许〜3k。
绝对没有时间用 jQuery 或手动 js 函数或诸如此类的东西来改造所有的 Ajax 功能。我们已经有了带有 gzip 编码的 .axd(未压缩它更像是 97k)。它经常被缓存,但这没关系:我必须对第一次请求的总传输大小设置一个严格的、低的、外部强加的限制……标记、脚本、图像和所有这些都总结了 a-la firebug。我一直在避免使用 .axds,但实际上没有其他地方可以减少字节数,而且我还有 24k 的空间。
有任何想法吗?我沉没了吗?
可能的方法:我还没有使用 Asp.NET 3.5 SP1 的compositescript
功能,但我认为这只会节省请求/响应标头,而且我什至不确定标头是否对我不利。
除了一些激进的东西,我没有任何其他想法,比如创建一个响应过滤器,它使用反射和一些字典来确定实际需要哪些 js 函数,然后只发出这些函数。我可以缓存每个单元的结果列表,因为我的响应时间上限也很低,而且我认为 .axds 不会从一个请求更改为另一个请求。这可行吗?还有其他想法吗?...如果我为英雄买啤酒并有解决方案怎么办?