如何在Asp.Net Core 1.0中创建新的HttpResponse实例和上下文

时间:2017-01-06 05:47:25

标签: asp.net asp.net-core asp.net-core-mvc asp.net-core-1.0

我在旧的MVC项目中有以下代码。我正在尝试将其迁移到Asp.Net Core。任何人都知道如何使用新的HttpResponse以便我可以迁移以下代码?

 private string RenderActionResultToString(ActionResult result)
        {
            // Create memory writer.
            var sb = new System.Text.StringBuilder();
            var memWriter = new System.IO.StringWriter(sb);

        // Create fake http context to render the view.
        var fakeResponse = new HttpResponse(memWriter);
        var fakeContext = new HttpContext(System.Web.HttpContext.Current.Request,
            fakeResponse);
        var fakeControllerContext = new ControllerContext(
            new HttpContextWrapper(fakeContext),
            this.ControllerContext.RouteData,
            this.ControllerContext.Controller);
        var oldContext = System.Web.HttpContext.Current;
        System.Web.HttpContext.Current = fakeContext;

        // Render the view.
        result.ExecuteResult(fakeControllerContext);

        // Restore old context.
        System.Web.HttpContext.Current = oldContext;

        // Flush memory and return output.
        memWriter.Flush();
        return sb.ToString();
    }`

1 个答案:

答案 0 :(得分:0)

我认为您可以在此处找到您尝试执行的操作的类似代码:Render Razor view to string in ASP.NET 5