用结巴分词net版,部署到网站上的时候,配置文件的地址为相对路径的时候会出现问题,绝对路径就没有问题。

原因是结巴源码中,取路径是取的应用程序的目录。如果是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>

  

这样就不会报错了

结巴net 分词 配置文件路径,在网站中的出现问题的解决的更多相关文章

  1. SWIFT中获取配置文件路径的方法

    在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDi ...

  2. linux中查看nginx、apache、php、mysql配置文件路径的方法

    如何在Linux中查看nginx.apache.PHP.MySQL配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断1.判断a ...

  3. linux中查看nginx、apache、php、mysql配置文件路径

    linux高效.稳定,但是也带来维护上的一些问题.配置文件究竟在哪里????? 如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留 ...

  4. 怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!

    首先,我们要了解一下帝国CMS整个目录结构,只有了解清楚结构,我们才有可能快速找到自己想要的文件,比如:帝国CMS数据库配置文件路径! 帝国CMS目录结构介绍 / 系统根目录├d/ 附件和数据存放目录 ...

  5. linux虚拟机中各服务端口及配置文件路径

    查询端口状况命令: netstat -an| grep 端口号 查询服务状态(服务是否开启)命令:systemctl  status 服务名 开启服务命令:systemctl  start  服务名 ...

  6. python结巴(jieba)分词

    python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...

  7. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  8. 针对Linux ASP.NET MVC网站中 httpHandlers配置无效的解决方案

    近期有Linux ASP.NET用户反映,在MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404(找不到网页) ...

  9. [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)

    目录 1.   介绍 2.   软件环境 3.   在运行示例代码之前(源代码 + 示例登陆帐号) 4.         jqGrid和AJAX 5.         GridSettings 6.  ...

随机推荐

  1. 浅谈Laravel框架的CSRF

    前文 CSRF攻击和漏洞的参考文章: http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html Laravel默认是开启了CSRF功能, ...

  2. ruby gem install rails 错误解决

    最近打算看ruby. 今天用命令gem install rails的时候碰到这样的错误提示: ERROR:  Error installing XXXXXXXXXXX:            The ...

  3. Spring MVC 学习 之 - 拦截器

    public class GlobalInterceptor implements HandlerInterceptor { public boolean preHandle(HttpServletR ...

  4. Nginx 前后端分离配置 分发

    前端项目VUE  端口8081 , 后端项目JAVA 端口8080 # For more information on configuration, see: # * Official English ...

  5. hive中分组取前N个值的实现

    背景 假设有一个学生各门课的成绩的表单,应用hive取出每科成绩前100名的学生成绩. 这个就是典型在分组取Top N的需求. 解决思路 对于取出每科成绩前100名的学生成绩,针对学生成绩表,根据学科 ...

  6. java web 开发 IDE 下载地址

    https://www.eclipse.org/downloads/eclipse-packages/

  7. SpinBlur - 旋转模糊

    [SpinBlur - 旋转模糊] Using the Spin Blur effect, you can rotate and blur the image around one or more p ...

  8. SQL优化的部分内容

    为什么要优化:      随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们         就需要做一个优化调整.   数据库优化这个课题较 ...

  9. 使用C#进行基于PI的开发

    首先欲基于PI-SDK开发PI数据库,必须先安装PI-SDK,然后再VS中新建了一个aspnet网站,添加引用:PI-SDK 1.2 Type Library 和 PISDKCommon 1.2 Ty ...

  10. 同台机器2个网卡配置同段IP

    看个例子:1.on serverifconfig eth4 192.168.1.10/24 upifconfig eth5 192.168.1.11/24 up2.on clientifconfig ...