我想实现一个 ASP.NET MVC 视图引擎来执行原始 .aspx/.ascx 的一些预处理。文件。然后,我想将结果传递给默认视图引擎(通常是 WebForm 视图引擎)。
这意味着,默认的视图引擎不应该从磁盘读取这个文件,因为它还没有被处理。相反,我希望 View Engine 从输入流中读取输入。
这可能吗?我应该创建一个映射到这个预处理视图引擎的新文件扩展名吗?
谢谢
我想实现一个 ASP.NET MVC 视图引擎来执行原始 .aspx/.ascx 的一些预处理。文件。然后,我想将结果传递给默认视图引擎(通常是 WebForm 视图引擎)。
这意味着,默认的视图引擎不应该从磁盘读取这个文件,因为它还没有被处理。相反,我希望 View Engine 从输入流中读取输入。
这可能吗?我应该创建一个映射到这个预处理视图引擎的新文件扩展名吗?
谢谢
您将需要创建一个自定义视图引擎来读取 aspx 文件,根据需要修改它们,然后将它们传递给某个构建提供程序。使用WebFormsViewEngine
该类System.Web.Complilation.BuildManager
来构建 aspx 文件。您将遇到的问题是BuildManager
唯一接受虚拟路径,它不接受流或字符串。这意味着您可能还必须创建自己的构建管理器。在命名空间中四处寻找System.Web.Compilcation
,看看是否能找到任何可能有帮助的东西。以下是一些可能为您指明正确方向的来源。
这可能是一个有用的资源。