zoukankan      html  css  js  c++  java
  • 在ASP.NET网站运行开始时载入全局数据

    在实现中文分词的过程中,利用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();

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

    执行效果:

    如图所示:用户提交查询字符串“中华人民共和国宪法”,服务器可以在很短的时间内进行中文分词,分割出“中华”“人民”“共和国”“宪法”

  • 相关阅读:
    python 代码规范
    Helm 入门指南
    思路和决断
    awk替换第几行第几列的值
    一个awk命令的demo
    装饰模式
    Java多线程Thread.yield(),thread.join(), Thread.sleep(200),Object.wait(),Object.notify(),Object.notifyAll()的区别
    类继承时,构造函数和析构函数的调用次序
    C++中delete和 delete[]的区别
    回溯
  • 原文地址:https://www.cnblogs.com/lijingpeng/p/2473645.html
Copyright © 2011-2022 走看看