我们想跟踪我们网站上的用户以及他们正在查看的页面。计划是创建一个委托(将记录对数据库表的访问)并异步调用它。
我们正在使用.Net 3.5,我不知道代理的想法,以及BeginInvoke和EndInvoke,是否是现在的方式,或者是否有更新的改进方法 - 可能是BackgroundWorker,或者某种东西其他。不确定。
我们的想法是尽可能保持开销,因为每次调用我们的一个页面时都会进行此处理。如果我们使用委托,它将不会返回值,这是肯定的。如果您有任何建议我很高兴听到他们。谢谢!
答案 0 :(得分:1)
ThreadPool.QueueWorkerItem是一种简单的方法。只是你将请求记录到线程池,它将在后台线程中执行操作,你不必担心它。
答案 1 :(得分:1)
好吧,如果您只是想运行一个进程而不是等待它完成另一个简单的方法,那就是启动一个新线程并在其上运行您的代码。然后你不必等待它返回。与关于背景工作者的想法类似。
答案 2 :(得分:1)
您可以使用带有XMLHttpRequest的Javascript来加载您的其他页面,如果这是您想要的方式。
我没有创建单个页面,而是将其放在页面继承的基页中。然后,使用您喜欢的任何异步方法。
答案 3 :(得分:1)
使用backgroundworker,不会使用ui线程,因此不会减慢你的系统速度。