3
|
TheCloudlessSky · 技术社区 · 15 年前 |
![]() |
1
1
也许你应该去看看 SquishIt . 关于它的更多信息 this blog post . 我们在生产中使用它。 |
![]() |
2
0
将缓存属性附加到控制器操作并按如下参数进行缓存:
|
![]() |
3
0
我做了以下界面:
然后在实施
这边有个单人间
|
![]() |
4
0
我最近帮助编写了一些代码。下面是已实现的解决方案的高级概述。希望它能给你一些好主意。 配置: 我们创建了自定义配置元素,这些元素定义了一个键及其相应的目录列表。所以键JS链接到我们的/content/scripts文件夹,而css链接到我们的/content/styles文件夹。我看到过其他的解决方案,其中的配置允许列出单个文件。 控制器: 控制器被设置为接收沿/content/get/js和/content/get/css行的请求。控制器使用配置键和客户机请求头生成一个缓存键,该缓存键标识我们要服务的内容:JS-MSIE-ZIP、CSS-FFX等。然后控制器检查我们的缓存服务。如果内容不在那里,它将被连接、缩小、压缩、缓存,然后提供服务。容易产生的后果是,内容在进入缓存之前被压缩,而不是每次都被提供。 观点: 在视图中,链接的设置如下:
缓存服务: 我们使用的是一个现有的缓存服务,它只是包装应用程序缓存。在某个时刻,我们可能会把它移动到速度或者类似的东西上。如果我们缓存的CSS和JS数量持续增长,我们可能会将密钥的格式更改为适当的文件名,并将内容移动到文件系统。但是,记忆很便宜,我们会看看会发生什么。 推理: (如果有关系) 我们这样做是为了在源代码管理的单独文件中保留不同功能的javascript,而不必单独链接到HTML中的所有文件。因为我们是按目录而不是单个文件配置内容的,所以我们还可以在生产构建期间运行完全缩小,以在一定程度上加快整个运行时过程。但是,我们仍然可以根据客户机浏览器和缓存的压缩版本来确定要服务的内容。 在开发中,可以通过快速的配置更改来设置系统,以便每个请求都重建JS。为了便于搜索,这些文件与插入注释中的文件名连接在一起,但内容不会被缩小,也不会在任何地方缓存任何内容。这允许我们在不重新编译应用程序的情况下更改、测试和调试JS。 在外面的包中找不到所有这些功能,所以我们花了几天时间构建了它。诚然,有些功能只是为了好玩,但这就是为什么我们喜欢做我们做的事情。=) |
![]() |
A B · C#Excel自动调整列避免长文本时出错 8 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 8 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 8 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |