处理程序类通过Server.Execute()调用另一个处理程序 - 执行子请求时出错

时间:2017-04-14 16:30:44

标签: c# httphandler

我在c#类库中有一些代码,它在处理程序的上下文中运行。这段代码通过Server.Execute()调用另一个处理程序(同一IIS网站上下文中的 ):

var htmlWriter = new StringWriter();
HttpContext.Current.Server.Execute("/myroot/folder1/myhandler.ashx", htmlWriter);

第二行抛出未处理的异常:

  

执行... [vir-path]

的子请求时出错

仅为上下文,以下工作正常:

HttpContext.Current.Server.Execute("/myroot/folder1/mypage.aspx", htmlWriter);

我已经google了一遍,并在我的web.config中找到了几个引用说法:

<httpHandlers>
   <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory" />
</httpHandlers>

我已经尝试了上述Web.config设置的几种变体和排列,但总是错误是一样的。我可以在我的处理程序中在第二个类级变量声明中设置断点,并且命中断点。但是步进到下一行(另一个变量声明)会引发异常。

private HttpContext _context;
private string _physicalPath = string.Empty; // blows up here
private MasterPropertySet _propSet; // never gets here

我必须使用Server.Execute(),因为我使用WebClient()或类似的方法获得了404个未经授权的错误。有没有办法让这项工作?

0 个答案:

没有答案