我想知道是否有人有经验可以使用Response.IsClientConnected属性作为asp.net网站的性能优化共享。
我问的原因是,我对它在现实生活中的效果持怀疑态度。我了解执行大型任务之前检查值的概念,但是我看不到这样做有多大用处,因为客户端可以随时断开连接。
最佳答案
我认为主要用途是优化长流程的交付。例如,如果必须生成巨大的报告或其他内容,则可以在单独的线程中运行该报告,然后定期检查该用户是否仍然处于连接状态。如果不是这样,您可以终止此长时间运行的进程,以使它不会不必要地运行,因为用户不再期望响应。
这有助于防止用户启动冗长的流程,然后一遍又一遍地提出更多请求,因为他们可能认为这很慢。如果您未进行此类检查,则尽管有一个请求有效,但由于所有请求,您都可能会对服务器征税。可以通过只允许一个用户运行一个长期运行的任务来处理这种情况,但是这在多用户环境中也将有所帮助,以确保您只花时间在仍然连接用户并等待用户的情况下处理请求响应。
注意:我以前从未实际使用过,这只是基于我对所读内容的基本了解。