用结巴分词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. bzoj2865 字符串识别

    Description XX在进行字符串研究的时候,遇到了一个十分棘手的问题. 在这个问题中,给定一个字符串S,与一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件: ...

  2. Spark系列(二) Spark Shell各种操作及详细说明

    并行化scala集合(Parallelize) //加载数据1~10 val num=sc.parallelize(1 to 10) //每个数据项乘以2,注意 _*2记为一个函数(fun) val ...

  3. git grade 版本下载及安装

    Git 2.11.1x64下载 gradle各版本下载地址 1. Git安装与配置 Gradle 用法总结

  4. ThinkPHP实现事务回滚示例代码

    ThinkPHP的事务回滚示例如下: ? 1 2 3 4 5 6 7 8 9 10 $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->sta ...

  5. Building a Simple User Interface(创建一个简单的用户界面)

    对于一个android 应用程序,用户的图形界面通常是由View(视图)和ViewGroup(视图组)对象构成的层次结构. View(视图)对象通常是按钮或文本输入框这类UI小部件,ViewGroup ...

  6. 温故而知新-面向对象的PHP

    1 类的多态 不同的类对同一操作可以有不同的行为. 比如自行车和汽车都有移动这个成员函数行为, 那么自行车类可以移动,行为和汽车的移动行为肯定不同. 2 析构函数不能有参数 3 __set和__get ...

  7. OpenCL 三种内存对象的使用

    ▶ 包括带有 CL_MEM_READ_ONLY,CL_MEM_WRITE_ONLY,CL_MEM_READ_WRITE 标识的显示拷贝(函数 clEnqueueWriteBuffer 和 clEnqu ...

  8. Android 获取图片转bitmap

    1. Resources resources = mContext.getResources(); Drawable drawable = resources.getDrawable(R.drawab ...

  9. springmvc 类型转换器 数据回显及提示信息

    处理器的写法: 类型转换器的写法: 类型转换器在springmvc.xml中的配置如下: index.jsp的写法:

  10. SELinux导致的docker启动失败

    安装docker yum install -y docker 启动docker systemctl start docker 报错 Job for docker.service failed beca ...