在我的vb.net Web应用程序中,当用户尝试注销时,注销大约需要10-20秒。在浏览器左下角的此过程中,它显示上传,上传后100%用户可以从应用程序注销。
我希望从我的网络应用程序快速注销。我无法解决这个问题。
我的应用程序已部署在网络服务器上。我的网络服务器上只有问题。在我的本地机器上没问题。
答案 0 :(得分:0)
在查看您发布的HAR文件后,我可以看到,当您回发到服务器时,您只需要注销即可发送2.75MB的数据。这是使用WebForms的主要缺点之一。您需要考虑在.NET 2.0中缩小视图状态的大小(它看起来像您正在使用的)。
您可以使用EnableViewState="false"
停用不需要它的特定控件的视图状态。
研究什么是视图状态,何时禁用它,并在该页面上尽可能多地执行此操作,尤其是对于大表,如果可能的话。
如果你不能在不破坏的情况下正确地减小ViewState大小,你可能需要考虑使用可以使用jQuery从浏览器调用的WebMethod。 Dave Ward在他的网站Encosia上有很多关于如何做到这一点的优秀帖子,例如this one。优点是对web方法的调用应该非常小,这比尝试仅注销2.7MB要快得多。
潜在的缺点是您可能需要在Javascript中执行额外的工作才能使注销正常工作。例如,您可能需要在之后手动清除会话cookie,然后将自己重定向回default.aspx
页面。
正是这些情况突出了网络的进展程度。 ASP.NET 2.0中的WebForms是使Web桌面程序员更容易编写Web的重要一步,但它不是Web应该如何工作的方式,而且是一种缓慢,过时,过时的技术。如果你可以说服人们停止使用它并开始使用ASP.NET MVC,你就不会再次遇到这些场景。