在控制器外部使用 Server.Execute 时出错
Error using Server.Execute outside of controller
我正在尝试通过外部函数 运行 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);
}
然后在另一个class中代码是:
public async Task execMethodAsync(HttpContext context){
context.Server.Execute("/myurl"); // <-- Throws error
}
我已经尝试将许多对象类型传递给此方法,但仍然出现此错误。
我尝试通过 HttpContext
、HttpContext.CurrentHandler
、ControllerContext.HttpContext
甚至其他一些,但仍然出现此错误。在控制器之外 运行 Server.Execute()
似乎几乎是不可能的。有人可以帮忙在控制器外执行 Server.Execute
吗?
有几种情况可能会导致此问题,您试过了吗
HttpContext.Current.RewritePath("yourpage.aspx");
我正在尝试通过外部函数 运行 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);
}
然后在另一个class中代码是:
public async Task execMethodAsync(HttpContext context){
context.Server.Execute("/myurl"); // <-- Throws error
}
我已经尝试将许多对象类型传递给此方法,但仍然出现此错误。
我尝试通过 HttpContext
、HttpContext.CurrentHandler
、ControllerContext.HttpContext
甚至其他一些,但仍然出现此错误。在控制器之外 运行 Server.Execute()
似乎几乎是不可能的。有人可以帮忙在控制器外执行 Server.Execute
吗?
有几种情况可能会导致此问题,您试过了吗
HttpContext.Current.RewritePath("yourpage.aspx");