ASP.net 的后台处理技术

在ASP.net的WEB开发中经常会碰到这样的一个问题:即用户操作响应慢的情况。

出现这种情况的原因可能是本身用户操作就是一个耗时的操作,一般。Net程序设计时均在用户提交操作时即在后台处理,等到处理完成后再将操作结果返回给用户。 在小一点的系统中这样设计简单易行,而且性能上也不会有多大的问题,但在大一点的系统中这种设计就会给用户带来不好的操作体验,影响用户对系统的印象好坏。

在我以前实施的系统中对这种情况一般有两种处理方式:一、将用户操作直接记录到后台数据库,由后台程序定时扫描来执行。二、采用Asp.net的定时处理方式,直接在WEB服务器层来进行处理。

两种方式差别并不大,第一种方式主要需要一个后台程序来完成这个扫描工作。

我在这里简单介绍下第二种方式。

它的核心处理就是System.Threading.Timer。这个定时类可以用于在后台定时执行用户提交操作,

它的使用方法:

System.Threading.TimerCallback t=new System.Threading.TimerCallback (你的处理方法);

System.Threading.Timer t = new System.Threading.Timer(t,null,1000,5000);

这一段说明是在启动1秒后每隔5秒就调用所指定的代理。

在具体实现时我定义了三个类。

1、BkExecItem用于保存用户提交操作,同时它也可以序列化到磁盘上,以免关键后台任务丢失。

2、BkExec用于执行。它通过反射来调用BkExecItem中所指定的方法。另外它中间还维护一个先入

先出队列Queue<BkExecItem>,这个队列记录全部的后台处理项。

3、BkManager完成定时器的初始化,模块的参数配置等功能。

呵,暂时总结到这里。下次我会将代码也贴上来,供大家参考下。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值