在我们的开发和生产项目中适应 Typed 和最近的 Strongly Typed 2sxc 取得良好进展后,我将返回到我们每年使用几次的代码,其中我们需要访问渲染 DNN 主题中模块的输出,或从 DDR 菜单 Razor 模板中访问数据(仅一种内容类型)。
我们的大多数代码示例来自 v13+,在 IRenderService 或 IDynamicCodeService 上使用 GetScoped 或 GetService,如此处所述:在 Dnn 主题/皮肤和模块中使用 2sxc 数据、服务或输出。
这仍然有效,但由于我们已经将项目中的相关代码至少调整为 Typed,所以一直切换回旧的代码至少令人沮丧,而且也让我们担心,因为看起来我们可能被迫进行重写在不久的将来,一旦 IDynamicCode12 被弃用。我们已经编写了期望传入 ITypedItem 的帮助程序/方法,并重写它们以与传入兼容
dynamic
...不好玩。
因此,我们有 2 个项目正在进行中,两个项目都已完全更新并运行 DNN v9.13.03 和 2sxc v17.06.03+:
有没有一种方法“从外部”至少可以打字?
显然,回答上述问题是我的迫切需要。但我忍不住大声思考......
我尝试了各种方法来尝试访问 IAppTyped 或获取/实例化 ServiceKit (ServiceKit16),但我只是了解不够,似乎遇到了标记为内部或其他混乱的内容。
如果满足以下条件,这似乎对 2sxc 的未来发展有长期好处:
.OfApp(7)
?)返回 IAppTyped 或更好。我真的不知道什么是可能的或太多的工作,但我很了解我的用例。