所以我正在考虑用户粘贴链接的功能,服务器端代码抓取提供的链接并响应该链接的内容(例如页面标题,描述,缩略图等)。
用户可以同时更改链接,在这样做时,ajax-request应该在客户端中止。
我想知道IIS服务器到底发生了什么,特别是我的C#代码。
答案 0 :(得分:4)
如果服务器代码检查Response.IsClientConnected
的状态,它可以在客户端中止请求时停止工作并产生空响应,否则它将照常完成请求。
请求处理不会因为没有人再等待而自动中止。服务器代码必须主动检查请求的状态。
答案 1 :(得分:2)
您的网络服务器不知道客户端取消了请求。该请求仍将得到满足,并将发回回复。您编写的客户端脚本需要能够处理页面的当前状态。
如果您确定不关心响应,我建议中止请求客户端:
xhr.abort()
答案 2 :(得分:0)
如果在写入响应之前关闭连接客户端,则会发出错误信息,说明引发了多少错误。您可以选择在从服务器返回时不处理响应。
答案 3 :(得分:0)
将请求发布到服务器后,IIS将开始执行服务器端代码。现在,服务器可以决定是否需要执行代码。
在整个页面循环中,您可以检查Guffa提到的Request.IsClientConnected并终止执行。
但是,这完全取决于你的情景。
希望它有所帮助。