2010-07-16 152 views
0

我们想要跟踪我们网站上的哪些人以及他们正在查看哪些网页。计划是创建一个委托(它将记录访问数据库表)并异步调用它。从ASP.Net页面进行异步调用 - 推荐的方法?

我们使用的是.Net 3.5,我不知道委托的想法,以及BeginInvoke和EndInvoke是最近走过的路,还是有更新的改进方法 - 可能是BackgroundWorker,或者别的东西。不确定。

这个想法是尽可能保持尽可能轻的开销,因为每次调用我们的页面时都会进行处理。如果我们使用委托,它不会返回值,这是肯定的。如果您有任何建议,我很高兴听到他们。谢谢!

回答

1

那么,如果你正在寻找只是运行一个进程,而不是等待它完成另一个简单的方法来做到这一点,只是启动一个新的线程并运行你的代码。那么你不必等待它返回。类似于背景工作者的想法。

1

ThreadPool.QueueWorkerItem是一个简单的方法。只要你将请求记录到线程池中,它就会在后台线程中执行操作,而且你不需要担心它。

1

你可以使用JavaScript和XMLHttpRequest来加载你的其他页面,如果这是你想要的方式。

而不是创建一个单一的页面,我把它放在你的页面从其继承的基本页面。然后,使用您喜欢的任何异步方法。

1

使用backgroundworker,不会使用ui线程,所以不会减慢系统速度。