2011-01-26 137 views
0

当我在我的网站上输入用户名和密码。如果用户名和密码正确,那么我在Page_Load上为数据库调用了一个c#方法(它删除了非必需的记录)。 如果有一个记录或100,我仍然必须等待页面加载,直到该过程完成:( 我正在使用此字符串加载所有文件,然后将用于比较文件 HttpContext.Current。 Request.PhysicalApplicationPath; 怎么过,如果我用一个静态的路径,即:C:/图像,那么事情变坏:( 所以这可能是可能的solultion页面加载速度减慢?

+1

也许如果你发布一些代码,我们可以帮助你优化它 – 2011-01-26 14:09:57

+0

它可以取决于很多事情。数据库是否在本地托管?服务器的规格是什么?你有没有尝试优化代码? – Prisoner 2011-01-26 14:10:36

+0

你使用了哪个数据库? – 2011-01-26 14:18:07

回答

0

使用Ajax,并使其作为异步Web服务?

Edit1:我的意思是将Page_Load中的代码移动到一个Web服务方法中,然后在页面加载后从javascript调用该Web服务,并将它所需的信息发送给适当的因为客户端看起来更有响应性 - 我假设所采取的操作并不是要求适当地呈现客户端代码,但是如果没有,您可能会考虑在Web服务返回后更新页面。这可以通过内置的ajax工具包或通过jQuery等库来手动完成。

2

您可以异步启动记录清除:

那么你的页面加载会发生之前完成删除操作。


编辑:既然你提到你使用的是Access数据库,我想你是被删除的记录,但一些其他操作失败的时候(我怀疑关闭数据库,请参阅我对Amir的回答的评论)。现在你应该做的事是基准,无论是通过使用工具(见this question)或“手动”,使用Stopwatch class。任何方式,在你尝试优化之前,使用这些方法之一来找出导致延迟的是什么真的

0

这听起来不像是一个异步问题。删除数据库中的100条甚至1000条记录不应超过几个毫秒。如果我怀疑,我会认为你没有正确设置你的索引。因此,不是使用快速索引删除这些记录,而是需要查看每条记录并查看它是否匹配。