dotnet WebAPI 帮助 说明 显示中文内容

以下方法只适合 主项目 和 Controller 项目分离的情况

 

要生成xml,在Controller 相关项目 上属性 中选择(项目上右键,属性,生成,勾选“xml文档文件”);

其次要将生成 的 xml文件 拷贝到 webapi 主目录内。推荐用生成后事件 脚本拷贝;

在主项目中 的 HelpPageConfig.cs 文件中读取相关 的xml文件;

 

如果模型项目和 主项目 和 Controller 项目分离 可能要 组合xml才行;

继续探索...

探索完成,继续

将model 生成的 xml文档,中<assembly> 和 <members> 内所有内容拷贝到 主目录下的说明文档xml文件(就是HelpPageConfig.cs 中要读取的那个xml)的doc标签内部即可;

这样就实现了 【主项目】 和 【Controller 项目】【model项目】分离 的情况下 全部说明文档 中文化。

好像有那么一点点小问题 返回值说明没出现,或者只出现了一次,第二次就不出现了。

要处理 help 的读取代码才能解决。以后研究。

问题在 ResParameters.cshtml 文件中

系统通过如下语句查找 类型名字

dic.Add(t.FullName.ToLower() + "." + item.Name.ToLower(),null);

但是FullName 会带上[[模块信息]] 而 xml 中对应的名字是    完整类型+参数名 ,但不包括模块信息。

所以键值对查找找不到相关信息。所以没有写出返回值数据。

另外加载一次后 就无法加载时因为 再次加载时 缓存中已经有了该数据,出错后后续处理被直接跳过了。

var fullName = t.FullName.ToLower() + "." + item.Name.ToLower();
var middleName = t.FullName.Substring(0, t.FullName.IndexOf("[["));
var simpleName = middleName.ToLower() + "." + item.Name.ToLower();定义简单名称,这个名称在xml说明文档中使用
try{
      if (dic.ContainsKey(fullName) == false)// 检查有没有,有了就不加入了,防止说明只出现一次
            dic.Add(fullName, null);
       }
       catch
       {
              continue;
       }
KeyValuePair<string, string> keyPair = Slwy.TravelWebAPI.UI.Areas.HelpPage.XMLValuePairs.document.FirstOrDefault(p => p.Key.ToLower().Contains(fullName));
KeyValuePair<string, string> keyPair = Slwy.TravelWebAPI.UI.Areas.HelpPage.XMLValuePairs.document.FirstOrDefault(p => p.Key.ToLower().Contains(simpleName));这里用简单名称查找,才能找到对应的文档

转载于:https://my.oschina.net/raddleoj/blog/793365

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值