有没有什么方法可以使用 Spring.NET 将依赖项注入(inject)到 Immediacy CMS 控件中,理想情况下无需在初始化控件时使用 ContextRegistry
?
最佳答案
作为一名前 Immediacy 员工,我经常遇到这种问题。
将即时性视为位于框架之上的标准 .net 网络应用程序。 他们只是简单地扩展了 Page 类之类的基类,并添加了一些全局有用的对象。
Immediacy 确实有自己的控件基类等,但没有什么能阻止您基于标准 .net 类创建自己的控件。
我见过的一个技巧是创建一个子应用程序,然后在添加到主应用程序的自定义控件中从中调用页面。
通过这种方式,您的子应用可以在不破坏任何东西的情况下做它喜欢做的事,而父即时应用只需从该应用读取流。
最简单的技巧就是创建一个只做一件事的控件......
WebClient wc = new WebClient();
this.Controls.Add(Page.ParseControl( wc.DownloadString("/childapp/yourcustomthing.aspx") ));
最干净的其他方法是将所需的子组件实现为我所见的 ashx 处理程序。
唯一可能出现的问题是您失去了子应用程序中对象的即时框架,但您可以轻松地通过查询字符串传递一些关键信息,然后构建您自己的包含所需内容的“依赖缓存”。
我知道这不是一个理想的选择,但当您需要做任何超出放入列表/类似页面或模板的插件时,即时性确实会让生活变得困难。
关于c# - Spring.NET 和即时 CMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999804/