随笔分类 - 【C#】
摘要:场景: 这几天在实习了,没想到一个学c++的被迫上手java,而且一下子就有需求要改(还是前后端都要改的那种,呜呜)。这里给我的是一个spring的项目,需求还好,就是环境配置老是报错。 报错:cannot create inner bean com.feeling.fuc.web.EncryptD
阅读全文
摘要:场景: 这几天后端突然开始报这类错误:The given key '2048' was not present in the dictionary.而且是在用不到dictionary的地方,看了一下,主要是sqlsugar的实现方法中报错。 解决方法: 升级sqlsugar的NuGet包到最近版本。
阅读全文
摘要:场景: 之前做.net core项目,只能本机调试测试完,发布后放在liunx上。但这个时候经常会因为环境问题,配置问题等,导致程序出现莫名其妙的bug,有的日志还记录的不完善,很难找到问题。 解决方法: 主要还是看官方文档,之前尝试过liunx调试,但是没成功。这次看到微软更新了版本,甚至可以利用
阅读全文
摘要:场景: 开发过程中遇到这样一个需求:需要定时的进行一些操作,同时这个定时时间是可以随时变动的,这个任务是可以启停的。第一反应是用线程。 实现: 这里由于需求少,就手动添加了几个线程,实际上多的话可以用线程池。 添加每个线程的ManualResetEvent事件:ManualResetEvent中可以
阅读全文
摘要:场景: 这项目用到了插件化开发,不是我做的,趁着现在有空学习一下。插件就是dll,主程序可以调用dll中的方法,插件之前没有关系,耦合性低。同时便于扩展和移除。今天在家,就研究一下c#的插件开发。热插拔,就是可以在运行时进行插件的添加,删除,修改等,无需停止程序。 实现: 1.插件化 1.1 首先先
阅读全文
摘要:场景: 用supervisor代理dotnet程序,指定sh文件中dotnet XXX.dll来运行.net core发布的程序。但是报错: dotnet: 未找到命令 解决方案: 用下面的语句: ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet 通过创建
阅读全文
摘要:场景: 后端返回前端文件在服务器的相对路径,比如:https://127.0.0.1:1984/Logs/2020-11-15.txt;前端用这个url去服务器上下载。但是会出现”文件不存在“的问题,相对路径也正确。 解决: .net 5.0中,在StartUp.cs文件中添加以下代码: var s
阅读全文
摘要:场景: 前不久,公司里项目经理要求我实现流程处理,比如,用户可以定义一个定时任务,每周一查看报表。定时任务很简单,用Quartz可以实现,但是用户自己选择报表就比较麻烦,因为系统的不同模块的生成报表的函数不一样,于是有了这样的想法:传入一个方法名和方法的输入参数,就可以调用该方法。 实现: 这里主要
阅读全文
摘要:场景: 前几天项目需要模拟数据,但是实际设备还没有接上,就自己用Winform搭建了一个数据模拟器,生成数据给平台。这里又一个需求,就是从数据库中找出设备,然后自动生成控件,勾选就表示开启该设备,能上传数据。 实现: 主要代码如下: foreach (var device in devices) {
阅读全文
摘要:场景: 在最近的项目中,用到了Mongodb,用它来保存大量工业数据。同时是会根据用户自动建立对应的数据表。这要求同时建立索引来加快查询。 解决: 1.在Nuget包中查询“mongocsharpdriver”,进行安装,这个安装包不同于MongoDB.Driver,这个包包括了MongoDB.Dr
阅读全文
摘要:场景:前几天在项目开发时,有个bug经常出现,今天花了一整天,终于把它解决了。记录一下解决流程。 解决方法: 主要报错的地方在添加的部分: 1 foreach (var requestProperty in request.Properties) 2 { 3 UnitWork.Add(new Rel
阅读全文