5

当前我在Asp.net MVC Web应用程序中有一个自定义VirtualPathProvider运行带有预编译网站的自定义VirtualPathProvider

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

这很好,我不需要部署任何ascxjs,css文件。现在

我的问题是这样的:

我想预编译的装配aspxascx文件,而不必意见作为嵌入式资源我会用的Response.Write视图类。

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

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

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

有什么想法?

回答

8

这个VirtualPathProvider In Precompiled Web Sites博客文章Coskun SUNALI描述了一个使用反射的解决方案。请注意,他明确表示这不是微软官方支持的解决方案,但通过他博客帖子的评论来看,它似乎对某些人来说效果不错。

+0

只是注意到有一个类似的问题http://stackoverflow.com/questions/12397/net-virtualpathproviders-and-pre-compilation,已经提到这个解决方案 – 2010-05-20 23:33:28

+0

谢谢你的回复。我目前正在使用新的IIS 7.5的Warmup功能测试解决方案,并自动预加载所有页面以强制编译......但我很快就会尝试。 非常感谢! – 2010-05-21 11:01:12

+1

这是令人难以置信的,这在.net 4中没有改变 – DevelopingChris 2012-07-08 02:51:34