在ASP.NET网站运行开始时载入全局数据
2012-04-27 15:34
225 查看
在实现中文分词的过程中,利用ASP.NET网站展示的时候会涉及到一个问题就是:
做网页端的时候,需要将分词词典预先载入内存,然后对用户的每一次查询都先进行分词处理,然后再提交数据库查询,这样能搜到更多的数据。
向内存中载入词典大约需要2秒钟的时间,在服务器一直运行的时间只需载入一次,public void LoadWordandHash()函数负责载入,肯定不能是每次查询都得载入。另外基于ASP.NET的网站的web服务器是IIS7。
解决方法:
利用Global.asax文件
其中WordDictHash是全局的静态哈希表变量 ,以后访问哈希表时就可以直接访问了
这样在网站部署的时候只需要载入一次哈希词典,在网站的运行期间一直在内存中存在,供用户使用。
执行效果:
![](http://pic002.cnblogs.com/images/2012/399187/2012042715302923.jpg)
如图所示:用户提交查询字符串“中华人民共和国宪法”,服务器可以在很短的时间内进行中文分词,分割出“中华”“人民”“共和国”“宪法”
做网页端的时候,需要将分词词典预先载入内存,然后对用户的每一次查询都先进行分词处理,然后再提交数据库查询,这样能搜到更多的数据。
向内存中载入词典大约需要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();
这样在网站部署的时候只需要载入一次哈希词典,在网站的运行期间一直在内存中存在,供用户使用。
执行效果:
![](http://pic002.cnblogs.com/images/2012/399187/2012042715302923.jpg)
如图所示:用户提交查询字符串“中华人民共和国宪法”,服务器可以在很短的时间内进行中文分词,分割出“中华”“人民”“共和国”“宪法”
相关文章推荐
- ASP.NET网站开发-数据上下文
- 配置ASP.NET网站使用AppFabric Caching存储Session数据
- 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行
- ASP.NET Core 网站在Docker中运行
- Asp.Net 网站性能优化之缓字决 (上) 缓冲写数据
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(一) 整理基础数据
- [MSDN]通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行
- 通过避免下列10个常见ASP.NET缺陷使网站平稳运行
- 通过避免下列10个常见ASP.NET缺陷使网站平稳运行
- 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转载)
- 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (12)程序与数据备份
- ASP.NET 实践:本地化网站地图的数据
- 未能将网站 xxx配置为使用 ASP.NET 4.0。为了使此网站正确运行,您必须将它手动配置为使用 ASP.NET 4.0
- 做完一个小网站的一点经验总结(2):asp.netaccess程序运行环境的配置
- 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行[msdn]
- asp.net 动态数据网站简单应用,快速建立站点实现对库方便的增删改
- [asp.net]网站数据安全之验证码
- Asp.Net 网站性能优化 缓字决 (上) 缓冲写数据
- 通过避免下列10个常见ASP.NET缺陷使网站平稳运行
- 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行