结巴net 分词 配置文件路径,在网站中的出现问题的解决
2015-11-13 16:43
639 查看
用结巴分词net版,部署到网站上的时候,配置文件的地址为相对路径的时候会出现问题,绝对路径就没有问题。
原因是结巴源码中,取路径是取的应用程序的目录。如果是winform程序当然没有问题,在网站就不行了。
要分别修改 Segmenter和Analyser中的文件 ConfigManager.cs
我用的方法是加一个配置项 apptype 通过配置项是否有值来判断是否网站
webconfig
这样就不会报错了
原因是结巴源码中,取路径是取的应用程序的目录。如果是winform程序当然没有问题,在网站就不行了。
要分别修改 Segmenter和Analyser中的文件 ConfigManager.cs
我用的方法是加一个配置项 apptype 通过配置项是否有值来判断是否网站
using System.Configuration; namespace JiebaNet.Segmenter { public class ConfigManager { private static string serverpath = string.IsNullOrEmpty(ConfigurationManager.AppSettings["apptype"]) ? "" : System.Web.HttpContext.Current.Server.MapPath("/"); public static string MainDictFile { get { return serverpath +( ConfigurationManager.AppSettings["MainDictFile"] ?? @"Resources\dict.txt"); } } public static string ProbTransFile { get { return serverpath +( ConfigurationManager.AppSettings["ProbTransFile"] ?? @"Resources\prob_trans.json"); } } public static string ProbEmitFile { get { return serverpath +( ConfigurationManager.AppSettings["ProbEmitFile"] ?? @"Resources\prob_emit.json"); } } public static string PosProbStartFile { get { return serverpath +( ConfigurationManager.AppSettings["PosProbStartFile"] ?? @"Resources\pos_prob_start.json"); } } public static string PosProbTransFile { get { return serverpath + (ConfigurationManager.AppSettings["PosProbTransFile"] ?? serverpath + @"Resources\pos_prob_trans.json"); } } public static string PosProbEmitFile { get { return serverpath + (ConfigurationManager.AppSettings["PosProbEmitFile"] ?? @"Resources\pos_prob_emit.json"); } } public static string CharStateTabFile { get { return serverpath + (ConfigurationManager.AppSettings["CharStateTabFile"] ?? @"Resources\char_state_tab.json"); } } } }
webconfig
<appSettings> <add key="webPages:Enabled" value="false" /> <add key="MainDictFile" value="Contents\Resources\dict.txt" /> <add key="ProbTransFile" value="Contents\Resources\prob_trans.json" /> <add key="ProbEmitFile" value="Contents\Resources\prob_emit.json" /> <add key="PosProbStartFile" value="Contents\Resources\pos_prob_start.json" /> <add key="PosProbTransFile" value="Contents\Resources\pos_prob_trans.json" /> <add key="PosProbEmitFile" value="Contents\Resources\pos_prob_emit.json" /> <add key="CharStateTabFile" value="Contents\Resources\char_state_tab.json" /> <add key="StopWordsFile" value="Resources\stopwords.txt" /> <add key="IdfFile" value="Contents\Resources\idf.txt" /> <add key="apptype" value="web" /> </appSettings>
这样就不会报错了
相关文章推荐
- 一些好的机器视觉相关网站推荐
- 【原创】揭秘_APIX_的高性能网关架构
- 帝国CMS安装问题及心得
- 软件的架构与模式之经典架构模式简介
- 软件架构
- 网站架构演变过程
- 国内大型网站系统架构的演化
- 体验监控宝免费网站服务器监控服务 附注册账户及网站监控部署方法
- 编程设计-如何写可维护的程序. 通往架构思维之路
- 体验监控宝免费网站服务器监控服务 附注册账户及网站监控部署方法
- 如何实现营销型网站推广的终极目标?
- java 服务器架构图 参考地址
- Android MVP架构浅析
- 常见的网站攻击方式(基础)
- Java分层架构的使用规则
- 电脑可以访问的网站,手机不能访问
- 云搜宝:网站布局对网站优化影响有多大?
- Ceph 的消息处理架构
- 企业应用架构
- 网站视频url地址获取