微软昨天推出了IronPython for ASP.NET 的CTP版本

由于目前的ASP.NET的扩展性模型采用的是CodeDOM模型,是针对静态编译的语言的。为解决这个问题,他们引入了一个新的扩展性模型,采用了ASP.NET的No-Compile特性,修改了System.Web.dll中的PageParserFilter API,通过几个基类(ScriptPage, ScriptUserControl, ScriptMaster)来参与页面的生命周期。这个新模型也为其他动态语言与ASP.NET协作指明了方向。新的模型好处多多,与静态语言比,除了页面初始处理快外,还提高了扩缩性,他们的加载测试标明,同样的硬件配置,一个拥有一万个静态编译的ASP.NET网页的一个网站已经不堪重负,却可以轻松处理一百万个动态编译的IronPython 网页!

想理解IronPython在ASP.NET下是如何工作的的话,读一下微软 .NET CLR 组架构师 David Ebbo 写的白皮书《ASP.NET之新动态语言扩展性模型(The New Dynamic Language Extensibility Model for ASP.NET)》,博客园的木野狐对该文做了中文摘要,值得一读。

可以在www.asp.net下载IronPython for ASP.NET:

Microsoft IronPython for ASP.NET CTP
http://www.microsoft.com/downloads/details.aspx?FamilyId=55932211-0D7E-4C6E-9B18-8F9D2AC1EE43&displaylang=en

相应的文档除了上面提到的白皮书外,还有涉及创建页面,创建用户控件,使用共享代码,数据绑定,以及如何调试等5个教程的文档:

IronPython for ASP.NET
http://www.asp.net/ironpython/