您的位置:首页 > 编程语言 > ASP

在ASP.NET网站运行开始时载入全局数据

2012-04-27 15:34 225 查看
在实现中文分词的过程中,利用ASP.NET网站展示的时候会涉及到一个问题就是:

  做网页端的时候,需要将分词词典预先载入内存,然后对用户的每一次查询都先进行分词处理,然后再提交数据库查询,这样能搜到更多的数据。
向内存中载入词典大约需要2秒钟的时间,在服务器一直运行的时间只需载入一次,public void LoadWordandHash()函数负责载入,肯定不能是每次查询都得载入。另外基于ASP.NET的网站的web服务器是IIS7。
解决方法:
利用Global.asax文件

void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
WordDict my = new WordDict();
     //载入词典
my.LoadWordandHash();
}


其中WordDictHash是全局的静态哈希表变量 ,以后访问哈希表时就可以直接访问了

static public List<string> WordList = new List<string>();
static public Hashtable WordDictHash = new Hashtable();


这样在网站部署的时候只需要载入一次哈希词典,在网站的运行期间一直在内存中存在,供用户使用。

执行效果:



如图所示:用户提交查询字符串“中华人民共和国宪法”,服务器可以在很短的时间内进行中文分词,分割出“中华”“人民”“共和国”“宪法”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: