Delphi 如果请求I';m处理已被取消?
我正在开发一个基于Indy HTTP服务器的web服务器,我发现如果我在浏览器中点击一个请求,然后在第一个请求完成处理之前点击另一个请求,可能会导致各种各样的问题。但是我找不到任何方法来确定我是否在一个被取消的请求中。每个请求都发生在自己的线程中,因此将线程设置为Terminated将是一种很好的检查方法,但这似乎没有发生Delphi 如果请求I';m处理已被取消?,delphi,http,delphi-xe,indy,Delphi,Http,Delphi Xe,Indy,我正在开发一个基于Indy HTTP服务器的web服务器,我发现如果我在浏览器中点击一个请求,然后在第一个请求完成处理之前点击另一个请求,可能会导致各种各样的问题。但是我找不到任何方法来确定我是否在一个被取消的请求中。每个请求都发生在自己的线程中,因此将线程设置为Terminated将是一种很好的检查方法,但这似乎没有发生 有没有办法让Indy通知我,它当前处理的请求已被发送请求的浏览器取消,它现在正尝试加载不同的内容?web浏览器可以取消正在进行的HTTP请求的唯一方法是关闭与服务器的连接。发
有没有办法让Indy通知我,它当前处理的请求已被发送请求的浏览器取消,它现在正尝试加载不同的内容?web浏览器可以取消正在进行的HTTP请求的唯一方法是关闭与服务器的连接。发生这种情况时,TIdHTTPServer将在下次尝试访问断开连接的套接字时引发异常。只需将异常传递到TIdHTTPServer进行默认处理,这样它就可以终止调用线程并清理套接字。这是正常的行为