Episerver - 为什么 BlockData 不实现 IContent

2024-04-18

有谁知道为什么 BlockData 类不直接实现 IContent ? 我知道在从数据库检索 BlockData 期间,Castle 创建的代理实现了 IContent。

如果 StackOverflow 不适合此类问题,请移走它。


EPiServer 的 Johan Björnfot 解释了一些细节在这篇文章中 http://world.episerver.com/blogs/Johan-Bjornfot/Dates1/2012/11/Shared-blocks--IContent/.

Excerpt:

“在 CMS 的早期版本中,页面 (PageData) 是内容存储库(传统上的 DataFactory)处理的唯一内容类型。在 CMS7 中,这种情况发生了变化,因此现在内容存储库 (IContentRepository) 处理 IContent 实例。这意味着需要 .NET可以从内容存储库保存/加载的类型是它实现了接口 EPiServer.Core.IContent。

CMS 中内置了一些 IContent 实现,例如 PageData 和 ContentFolder(用于对共享块实例进行分组),并且还可以注册自定义 IContent 实现。如果您查看 BlockData,您会发现它没有实现 IContent,那么如何然后处理共享块实例吗?

答案是,在运行时创建共享块实例时(例如,通过调用 IContentRepository.GetDefault,其中 T 是从 BlockData 继承的类型),CMS 将使用称为 mixin 的技术创建继承 T 的新 .NET 类型,其中新的生成的子类将实现一些额外的接口(包括 IContent)。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Episerver - 为什么 BlockData 不实现 IContent 的相关文章

随机推荐

  • Android 2.2 中“不受信任的服务器证书”,但 3.0 中没有

    我正在使用 BouncyCastle 提供程序和 Apache HttpClient 来信任 SSL 证书 如 Antoine Hauck 所描述here http blog antoine li index php 2010 10 and
  • android:icon="@drawable/my_icon" 和 android:icon="?my_icon" 之间的区别? [复制]

    这个问题在这里已经有答案了 我通常在 xml 中将drawable设置为android icon drawable my icon 但在一些项目中我看到了代码android icon my icon 有什么区别android icon dr
  • AT+CMGS 无法正常工作

    我在发送短信时遇到 AT 命令问题 AT CMGS 发送后AT CMGS
  • 将 mongodb 与 neo4j 集成,是否有任何 API 可以链接它们?

    我正在研究推荐引擎 用户数据被收集 他们的友谊 位置 喜欢 教育 并已存储在 mongodb 中 我需要向这些用户推荐相关产品 我计划使用 Neo4j 作为推荐引擎 原因很明显 易于节点之间的遍历 路径信息 问题是我必须首先将 mongod
  • ResultReceiver 给出 Nullpointer 异常

    我正在使用地理编码来检索纬度 经度值的地址 我在扩展 IntentService 的单独类中实现此地理编码 当我检索地址时 我想将其发送回原始主要活动 为此我使用 ResultReciever 并实际上遵循tutorial https de
  • 如何通过HTTP Google Cloud Function上传图像文件?

    我已阅读有关如何将图像上传到存储桶并通过后台功能进行后期处理的教程 但我的要求是上传图像 进行后处理并立即通过HTTP函数返回结果 请让我知道这是否是正确的方法 因为我在网上没有得到太多关于这方面的材料 以下是我的做法 HTTP云功能 ex
  • Github v3 API 让所有组织超过 100

    我正在尝试让所有组织项目通过 默认大小似乎是 30 而 100 似乎是每个请求的最大限制 但上面的链接仍然只返回前 100 项 即不是第 101 200 项 我也尝试过 http host api v3 organizations page
  • 以编程方式截取网页屏幕截图[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • WPF 3D 旋转球体 GUI

    我一直在尝试在 WPF 中为我的课堂作业制作 3D 用户界面 但遇到了一个问题 现在 2 3 天都无法解决 我尝试用谷歌搜索答案 我查看了一些 stackoverflow 帖子 但还没有一个可以帮助我解决问题 情况是这样的 我有一个 3D
  • 如何在 xcode 中打印或查看方法调用堆栈?

    我正在开发我的 iPad 应用程序 运行代码时 表视图中有一种方法 据我们所知 cellForRowAtIndexPath 该方法可以被调用多次 就像一会儿 scrolling table view cells Or table view
  • mysqli_stmt::bind_param():类型定义字符串中的元素数量与绑定变量的数量不匹配,无法更新

    我在提交或更新此数据时遇到问题 数据无法更新 这段代码 if isset GET newsid if isset POST submit sql connect gt prepare UPDATE news set title short
  • Rails:特定 HTTP 错误代码的自定义行为

    我正在开发一个 RoR 网站 希望单独处理服务器错误 400 404 500 等 另外 由于网站是动态的 我想在 Rails 环境中处理错误 而不是在服务器级别 我想做的一个例子是 当用户遇到无法加载或根本不存在的页面或模板时 向用户提供可
  • 从Excel VBA中的单元格范围中删除重复项

    我正在尝试删除 Excel 2013 VBA 中的重复项 但我收到错误 对象不支持此属性或方法 问题是我没有静态范围可供选择 我想从列标题 abcd 中删除重复项 Cells Find what abcd Activate ActiveCe
  • 检查数组中是否存在值(Laravel 或 Php)

    我有这个数组 list desings ids array hc1wXBL7zCsdfMu dhdsfHddfD otheridshere 使用 die var dump 这个数组返回我 array 2 0 gt hc1wXBL7zCsdf
  • Socket.IO中的跨域连接

    是否可以跨域方式使用Socket IO 如果是这样 怎么办 网络上提到了这种可能性 但没有给出任何代码示例 引用socket io 常见问题解答 http socket io faq Socket IO支持跨域连接吗 当然 在每个浏览器上
  • 创建一个加载器,其中线在中心形成一个圆

    这是我的代码 circle border 1px solid transparent border radius 50 width 100px overflow hidden div7 width 100px height 10px bac
  • 正确使用 zend 框架中的语言

    我有一个带有两个模块 管理和公共 的 Zend 应用程序 对于公共 我有以下插件来解析我的友好 URL class Custom Controller Plugin Initializer extends Zend Controller P
  • seq 和 list 之间的区别

    Clojure 语言中的 seq 和列表有什么区别 list 1 2 3 gt 1 2 3 seq 1 2 3 gt 1 2 3 这两种形式似乎被评估为相同的结果 首先 它们可能看起来相同 但实际上并非如此 class list 1 2 3
  • Android 中的文件浏览

    是否有特定的视图 小部件可用于浏览设备上的文件 或者还有其他已被接受的解决方案吗 搜索对我来说有用的信息很少 不幸的是 没有用于浏览文件的特殊视图 小部件 不过自己写也不是很难 谷歌搜索可以找到许多用于文件浏览的公共资源 意图 总体思路很简
  • Episerver - 为什么 BlockData 不实现 IContent

    有谁知道为什么 BlockData 类不直接实现 IContent 我知道在从数据库检索 BlockData 期间 Castle 创建的代理实现了 IContent 如果 StackOverflow 不适合此类问题 请移走它 EPiServ