我试图从外部函数在控制器外运行Server.Execute
。我试图传递多种类型的对象试图让它工作,但每次我收到错误说Error: Error executing child request for [url]
这就是我的代码在控制器内部的显示方式:
public async Task<ActionResult> Exec(){
var http = HttpContext; //<- doesn't work
http = HttpContext.ApplicationInstance.Context; //<- doesn't work
return execMethodAsync(http);
}
然后在另一个类中代码是:
public async Task execMethodAsync(HttpContext context){
context.Server.Execute("/myurl"); // <-- Throws error
}
我已尝试将多种对象类型传递给此方法,但仍会出现此错误。
我尝试传递HttpContext
,HttpContext.CurrentHandler
,ControllerContext.HttpContext
甚至其他一些,但仍然会收到此错误。在控制器之外运行Server.Execute()
几乎是不可能的。有人可以帮助在控制器外执行Server.Execute
吗?
答案 0 :(得分:0)
有一些事情可能导致这种情况,你试过吗
HttpContext.Current.RewritePath("yourpage.aspx");