使用PreCompiled网站运行自定义VirtualPathProvider

时间:2009-12-11 14:43:33

标签: asp.net-mvc embedded-resource precompiled virtualpathprovider

目前我在Asp.net MVC网络应用程序中有一个自定义VirtualPathProvider

VirtualPathProvider检查路由"/{Area}/{Controller}/..."中的Area,并使用NameSpace.{Area}.Main.dll模块将该程序集中包含的视图作为嵌入资源返回。

这很有用,我不必部署任何ascxjscss个文件。

现在我的问题是:

我想预先编译程序集中的aspxascx文件,而不是将视图作为嵌入资源,我将使用Response.Write的视图类。

我可以使用aspnet_compiler预编译视图,但是当ViewEngine尝试查找视图并失败时,我一直收到错误。

我的主要目标是让第一次使用某个视图/用户控件的方式更快,不要等待编译发生。

这是一项要求,因为可以将应用程序分组到插件中,并将此插件部署到Bin目录中。

有什么想法吗?

1 个答案:

答案 0 :(得分:8)

VirtualPathProvider In Precompiled Web Sites的这篇Coskun SUNALI博客文章介绍了使用反射的解决方案。请注意,他非常清楚地表明这不是微软官方支持的解决方案,但根据他博客文章中的评论判断,它似乎对某些人来说效果很好。