哪里是System.Web.Razor的文档? (V2)[关闭](Where is the do

2019-09-21 22:35发布

我得从的NuGet剃刀引擎的V2版本。 我想使用它的API来编译上即时剃刀意见。 然而,这似乎是完全无证件。

每一个类型,成员有下列文件:

此类型/成员支持.NET Framework基础结构,不适合直接在代码中使用。

这是很让人讨厌,因为这些都是公共类型和公共成员。
我已经看到了一些第三方的东西,这确实编译使用这个库剃刀意见,所以我知道任务应该是可行的了。

那么,有没有对如何在任何地方使用这个API的任何实际可用的文档?

Answer 1:

我离开了这个问题开了近一年没有答案,所以我决定发布什么,我想出了最后。

这是很清楚的是剃刀还是无证,看到http://msdn.microsoft.com/en-us/library/system.web.razor%28v=vs.111%29.aspx ,我认为这是非常有可能仍然无证。

但是,如何使用它可以通过查看的ASP.NET MVC如何使用它在它的Razor视图引擎的代码很容易确定。 然后,您可以基于该写代码。

看来,剃刀也关系到了ASP.NET BuildManager基础设施,所以你可以很容易地得到一个剃须刀的实例,通过这一观点。 然后,你正在寻找调用ExecutePageHierarchy方法。

下面是代码:

public void ProcessRequestCore(HttpContextBase context)
{
    try
    {
        // Create Razor page instance
        var instance = BuildManager.CreateInstanceFromVirtualPath(_razorFilePath, typeof(WebPage)) as WebPage;

        if (instance == null)
            throw new NullReferenceException("BuildManager.CreateInstanceFromVirtualPath returned null.");

        // Set up things
        instance.VirtualPath = _virtualPath;

        // Render the Razor page
        instance.ExecutePageHierarchy(new WebPageContext(context, instance, _model), context.Response.Output);
    }
    catch (Exception exc)
    {
        Logger.WriteException(exc);
        context.Response.StatusCode = 500;
    }
}


文章来源: Where is the documentation of System.Web.Razor? (v2) [closed]