Castle发布新版本
昨晚群里一位同学说Castle发布了最新版本,上去一看,还真是。不过不是Castle整体发布了新版本,而是它的核心项目,Core,MonoRail,ActiveRecord,Windsor几个项目分别在这个月发布了新的版本.
关注过Castle的人可能都会觉得Castle更新的也太慢了,MonoRail的一个开发者在这里说明了为什么MonoRail2花费了如此长的时间。我们也大概来看一下,他们大概做了哪些改变:
1.Core 1.2
1)Email sender组件集成了进来,并且用System.Net.Mail的MailMessage, Attachment,AttachmentCollection替换了Message, MessageAttachment,MessageAttachmentCollection.
2)Logging services集成了进来.
3)发布了四个版本for .NET 2.0, for .NET 3.5, for Silverlight 3.0 and for Mono 2.6
2. Monorail 2.0
1)程序化配置可以不采用在Web.Config文件里面,而是直接在Global全局类里面通过程序编码进行配置.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public void Configure(IMonoRailConfiguration configuration) { configuration.ControllersConfig.AddAssembly(Assembly.GetExecutingAssembly()); configuration.ViewEngineConfig.ViewPathRoot = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Views" ); configuration.ViewEngineConfig.ViewEngines.Add( new ViewEngineInfo( typeof (AspViewEngine), false )); // configue jquery as the validation engine configuration.JSGeneratorConfiguration.AddLibrary( "jquery-1.2.1" , typeof (JQueryGenerator)) .AddExtension( typeof (CommonJSExtension)) .ElementGenerator .AddExtension( typeof (JQueryElementGenerator)) .Done .BrowserValidatorIs( typeof (JQueryValidator)) .SetAsDefault(); // configure url extensions configuration.UrlConfig.UseExtensions = false ; } |
2)返回值绑定
可以直接设置 Action的返回值的格式,下面是设置返回Json格式的返回值:
5 6 7 8 9 10 11 12 13 | public class State { public string Code { get ; set ; } } [ return : JSONReturnBinder] public State[] GetStates() { return new [] { new State { Code=“CA” }, new State { Code=“WA” } }; }> |
3)新的路由引擎
http://www.castleproject.org/monorail/documentation/trunk/advanced/routing.html
4)RescueController
用来处理在Action中出现异常的.http://www.castleproject.org/monorail/documentation/trunk/usersguide/rescues.html
3.MicroKernel/Windsor 2.1.1
1)最大的改变就是支持Silverlight, 发布了两个版本for .NET 3.5 and for Silverlight 3.0
2)支持配置文件里配置类型的转向:
5 6 7 8 9 | < component id="hasForwards" type="Castle.MicroKernel.Tests.ClassComponents.TwoInterfacesImpl, Castle.MicroKernel.Tests" service="Castle.MicroKernel.Tests.ClassComponents.ICommon, Castle.MicroKernel.Tests"> < forwardedTypes > < add service="Castle.MicroKernel.Tests.ClassComponents.ICommon2, Castle.MicroKernel.Tests" /> </ forwardedTypes > </ component > |
3)添加DynamicParameters,添加返回代理,在组件析构时调用.
4)添加OnCreate,在组件后创建后移除前调用.
5)添加组件延迟加载. 6)性能优化和bug修复
4.ActiveRecord 2.1.2
1)Castle Validator updated to 1.1.1
2)基于nhibernate进行了相应的更新.
3)原来AR也集成了NHibernate.Search,NHibernate.Linq等
……………………….
5.扩展开发工具
在这里还是介绍一下Castle相关的一些开发工具,虽然现在他们还没有发布新的版本:
1)ActiveWriter----集成到VS.NET的NHibernate(ActiveRecord)对象可视化设计工具
2)类似于ROR的Generator
3)Visual Studio Integration,用来创建项目并且支持NVelocity的智能提示,可以查看这里.
以上列出的新功能并不是包括新版本所有的新功能,只是对官网文档的一些整理。真没想到castle的这些子项目能够更新出新版本,最新版本的可以从这里下载,尤其是MonoRail,能够在Asp.net mvc发布后继承前进,值得支持.以后Castle也可能会只是各个分项目分别更新版本了,发布新版本后,官网的文档也进行了相当的更新,感兴趣的同学可以去官网查看相当的文档以及对应开发者的blog.
作者:孤独侠客(似水流年)
出处:http://lonely7345.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构