从ASP.Net页面进行异步调用 - 建议的方法?

时间:2010-07-16 17:52:24

标签: asp.net asynchronous delegates

我们想跟踪我们网站上的用户以及他们正在查看的页面。计划是创建一个委托(将记录对数据库表的访问)并异步调用它。

我们正在使用.Net 3.5,我不知道代理的想法,以及BeginInvoke和EndInvoke,是否是现在的方式,或者是否有更新的改进方法 - 可能是BackgroundWorker,或者某种东西其他。不确定。

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

4 个答案:

答案 0 :(得分:1)

ThreadPool.QueueWorkerItem是一种简单的方法。只是你将请求记录到线程池,它将在后台线程中执行操作,你不必担心它。

答案 1 :(得分:1)

好吧,如果您只是想运行一个进程而不是等待它完成另一个简单的方法,那就是启动一个新线程并在其上运行您的代码。然后你不必等待它返回。与关于背景工作者的想法类似。

答案 2 :(得分:1)

您可以使用带有XMLHttpRequest的Javascript来加载您的其他页面,如果这是您想要的方式。

我没有创建单个页面,而是将其放在页面继承的基页中。然后,使用您喜欢的任何异步方法。

答案 3 :(得分:1)

使用backgroundworker,不会使用ui线程,因此不会减慢你的系统速度。