代码之家  ›  专栏  ›  技术社区  ›  3Dave

从MVC控制器操作执行Server.Execute-render.ASP

  •  2
  • 3Dave  · 技术社区  · 15 年前

    我需要从MVC控制器操作将ASP页面呈现为字符串。我可以用 Server.Execute() 呈现.aspx页,而不是.asp页。

    我用的是:

        public ActionResult Index()
        {
            Server.Execute("/default.asp");
            return new EmptyResult();
        }
    

    又回来了

    `No http handler was found for request type 'GET'`
    

    有什么建议吗?我可以对web请求执行类似的操作,但我宁愿避免环回请求的开销。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Kevin Hoffman    15 年前

    上次我检查时,在ASP.NET 3.5或4.0上下文下运行并使用ASP.NET时,Server.Execute不会执行.ASP页,因为没有为旧的.ASP页配置ASP.NET httpHandler。

    我要做的是使用WebRequest执行.ASP页面并存储结果,然后将响应的字符串输出转储到字符串,然后在执行controller方法时转储该字符串。这样,您甚至可以在另一台服务器上执行.ASP页(server.execute对服务器场不友好!)

        2
  •  0
  •   Control Freak    10 年前

    使用 Server.TransferRequest() 而不是 .Execute() 它应该能起作用。如果它在控制器中不起作用,请将其放在视图中,如下所示:

    @{Server.TransferRequest("/default.asp");}