目前我在Asp.net MVC网络应用程序中有一个自定义VirtualPathProvider
。
此VirtualPathProvider
检查路由"/{Area}/{Controller}/..."
中的Area,并使用NameSpace.{Area}.Main.dll
模块将该程序集中包含的视图作为嵌入资源返回。
这很有用,我不必部署任何ascx
,js
,css
个文件。
现在我的问题是:
我想预先编译程序集中的aspx
和ascx
文件,而不是将视图作为嵌入资源,我将使用Response.Write的视图类。
我可以使用aspnet_compiler
预编译视图,但是当ViewEngine
尝试查找视图并失败时,我一直收到错误。
我的主要目标是让第一次使用某个视图/用户控件的方式更快,不要等待编译发生。
这是一项要求,因为可以将应用程序分组到插件中,并将此插件部署到Bin目录中。
有什么想法吗?
答案 0 :(得分:8)
VirtualPathProvider In Precompiled Web Sites的这篇Coskun SUNALI博客文章介绍了使用反射的解决方案。请注意,他非常清楚地表明这不是微软官方支持的解决方案,但根据他博客文章中的评论判断,它似乎对某些人来说效果很好。