【问题标题】:Is it true that the paragraph in Tree Menu of MSDN library is store in the database?MSDN库的Tree Menu中的段落是否存储在数据库中?
【发布时间】:2009-06-11 09:38:10
【问题描述】:
我被分配开发一个类似于MSDN Library 的网站。
根据 MSDN Library,我感觉他们的树形菜单在数据库中已更新。它们不像其他 Javascript 树形菜单那样固定。但我不确定,我只是怀疑,MSDN库的Tree Menu中的段落是否存储在数据库中?如果是真的,尊敬的,能否请您简要解释一下MSDN库数据库图?我非常感谢 StackOverFlow 中的所有贡献者,并期待回复。
【问题讨论】:
标签:
asp.net
database
menu
tree
msdn
【解决方案1】:
确实如此,以下来自Scott Hanselman's blog discussing msdn:
我认为不可能只有
(loband)“开关”,我提到了我
认为必须破解 URL
有点不稳定。原来,
整个 MSDN 系统不是一堆
磁盘上的文件,但数据库中的文件
使用 ASP.NET 虚拟路径提供程序。
蒂姆·埃瓦尔德(Tim Ewald)写了他们是如何做到的
回到 2005 年 2 月。
这在当时是一种
穷人的 ASP.NET 路由:
规范化的路径指向一个文件
磁盘上不存在。相当,
页面数据存储在内容中
缓存。该系统使用一个
用于桥接的 VirtualPathProvider (VPP)
两者之间的差距。本质上,一个
VPP 拦截所有的 ASP.NET
管道对文件流的请求
并让您有机会加载它们
从你喜欢的任何地方。每个 ASP.NET
应用程序使用默认 VPP
映射到文件系统。基于 MTPS 的
网站注册一个自定义
VirtualPathProvider,它位于
默认 VPP 前面,形成一个
链。自定义 VPP 使用
DocumentInfo 和 ContentSet 对象
HTTP 模块的
OnPreResolveRequestCache 事件处理程序
存储在 HTTP 上下文中以加载主题
从内容缓存中返回
作为 .aspx 文件流。
如果您想了解更多关于 MSDN 是如何构建的,请查看linked article from Tim Ewald