有使用地过ASP.NET的人都知道Response.end()函数会抛出一个ThreadAbortException异常,现在我有个程序要用到Response.end()来结束一个请求过程。但我不希望他抛出ThreadAbortException异常,所以我想写一个程序来模拟这个过程。请各位高手指点,小弟感激不尽。
   我曾试过ApplicationInstance.CompleteRequest 但该方法不会终止一个请求。

解决方案 »

  1.   

    try
    {
       Response.End();
    }
    catch
    {
       ;
    }
      

  2.   

    用HttpContext.Current.ApplicationInstance.CompleteRequest();取代Response.End(); 
      

  3.   

    用HttpContext.Current.ApplicationInstance.CompleteRequest();取代Response.End(); 是MSDN上说的。利用HttpModule通过调用HttpApplication.CompleteRequest()方法实现当满足某一个条件时终止此次的HTTP请求。需要注意的是,即使调用了HttpApplication.CompleteRequest()方法终止了一个HTTP请求,ASP.NET Framework仍然会触发HttpApplication后面的这3个事件:EndRequest事件、PreSendRequestHeaders事件、PreSendRequestContent事件。
      

  4.   

    TO:octverve
    你说的方法也许可以,不过我不懂如何实现,你能否给个参考的代码。