目前,我在Asp.net MVC应用程序中有一个自定义的VirtualPathProvider。
此VirtualPathProvider检查路由"/{Area}/{Controller}/..."中的区域,并使用NameSpace.{Area}.Main.dll模块将包含在该程序集中的视图作为Embedded Resources返回。
这很好用,而且我不需要部署任何ascx、js、css文件。
现在我的问题是:
我希望在程序集中预编译aspx和ascx文件,而不是将视图作为嵌入式资源,而是使用Response.Write创建视图类。
我可以使用aspnet_compiler预编译视图,但每当ViewEngine尝试查找视图失败时,我都会得到一个错误。
我的主要目标是第一次使用某个视图/用户控件的方法会更快,而不是等待编译发生。
这是必需的,因为可以将应用程序分组到插件中,并将此插件部署到Bin目录中。
有什么想法吗?
发布于 2010-05-21 07:32:30
这篇由Coskun SUNALI撰写的VirtualPathProvider In Precompiled Web Sites博客文章描述了一个使用反射的解决方案。请注意,他非常明确地表示,这不是微软官方支持的解决方案,但从他博客帖子上的评论来看,它似乎对一些人很有效。
https://stackoverflow.com/questions/1888510
复制相似问题