
dotnet
文章平均质量分 61
ironinfo
这个作者很懒,什么都没留下…
展开
-
C# Blazor Server 调用海康H5Player播放摄像头画面
网页播放摄像头需要通过web socket,因为网页不支持rtsp协议,因此需要服务端进行协议转换(我的第一篇博客就讲了如何将rtsp转web socket以及如何在网页中播放)。海康服务器已经做了协议转换,并提供了ws的url,并且提供了h5player.js库,该库中可以对h265,h264解码播放,因此本文才能够实现网页摄像头的在线浏览。原创 2024-09-28 17:49:10 · 1616 阅读 · 0 评论 -
C#,JavaScript实现浮点数格式化自动保留合适的小数位数
C#, JavaScirpt 中,根据浮点数数值大小决定格式化字符串时保留小数点后几位,例如12345.62 得到"12345",0.0022124 得到"0.00221"原创 2024-05-30 17:12:12 · 364 阅读 · 0 评论 -
C#中用 protobuf Struct 实现弱类型的json 序列化/反序列化
用protobuf Struct来实现 C#弱类型与json的互操作,动态属性保存在一个json字符串中,巧妙设计 web api接口。原创 2024-05-30 09:43:58 · 960 阅读 · 0 评论 -
以Windows服务运行无法访问Sql Server 0x80004005
以Windows服务运行无法访问Sql Server 0x80004005,需在sql server中给SYSTEM账户增加 sysadmin服务器角色原创 2024-05-17 11:29:55 · 674 阅读 · 1 评论 -
C# 不用lock写一个多线程程序
bool 不需要锁,int/DateTime 用Interlocked,多用ConcurrentDictionary,ConcurrentQueue原创 2024-05-11 14:38:55 · 582 阅读 · 1 评论 -
C# 获取类型 Type.GetType()
有时候需要使用Type来进行反射、序列化、筛选等,获取Type有Type.GetType, typeof(),object.GetType() 等方法,本文重点介绍Type.GetType()。原创 2024-02-29 17:01:14 · 2985 阅读 · 0 评论 -
Blazor 向 ECharts 传递 option
将ECharts封装为Blazor组件,然后通过jsRuntime向ECharts传递参数,即设置option。原创 2024-02-29 08:51:46 · 831 阅读 · 0 评论 -
.net7 通过 JsonTranscoding 实现 gRPC 与 Web API 一鱼两吃
.net7 不仅使 gRPC性能提高了8倍,还可以通过 JsonTranscoding 实现一个项目即提供 gRPC 又提供 Web API接口原创 2023-05-05 17:47:31 · 838 阅读 · 0 评论 -
Dotnetty TcpClient 自动重连服务器
Dotnetty实现一个断开能够自动重连的Tcp Client,关键是解决I/O 错误问题,该问题是因为IByteBuffer被释放引起的。原创 2023-02-26 14:19:11 · 1127 阅读 · 0 评论 -
C#实现一个可撤销出队的队列
现有的Queue Dequeue后不能在队列头部插入一条,即不能撤销出队操作,我实现了一个可撤销的队列,根据传进来的处理函数是否返回false决定是否撤销出队。原创 2023-02-02 17:32:49 · 251 阅读 · 0 评论 -
如何从外部灵活的给C#脚本传递参数
编辑一段C#脚本,使用Microsoft.CodeAnalysis.Scripting 解析脚本,脚本中可能出现外部变量,找到一种通行的办法传递外部参数。原创 2023-01-31 18:58:03 · 795 阅读 · 0 评论 -
C# 用一个文件实现对象的二进制序列化和缓存
开辟一个文件,同时支持读和写,设置大小上限,当文件达到上限时从头覆盖写入,如此往复,用作数据的持久化缓存。原创 2023-01-29 10:07:34 · 557 阅读 · 0 评论 -
.Net6 Blazor 制作购物车应用
大家推荐我翻译制作的油管视频教程系列合集:Net6+Blazor Web assembly+EFCore+Web Api 购物车应用实战——油管视频翻译配音解读原创 2022-10-18 17:38:59 · 362 阅读 · 0 评论 -
C# 调用 Matlab 函数
类型对应关系 Matlab中一切皆矩阵,只不过维度不同,标量维度1,1 向量维度n,1 矩阵维度 m,nC# Matlab MWArray.Dimensions[0] MWArray.Dimensions[1] int / double MWNumericArray 1 1 int[n] / double[n] MWNumericArray n 1 int[m,n]/double[m,n] MWNumeric...原创 2022-03-07 11:22:23 · 2660 阅读 · 0 评论 -
用 Ant Blazor 实现 PropertyGrid
目标 做一个类似 vs2019 属性的 PropertyGrid,支持对各种属性的编辑,省去为各种类型制作编辑表单的工作。 PropertyGrid的主要特性:支持bool, int, double, string, object, 集合 属性的编辑; int double 类型可设定最大值、最小值、默认值,可以给定单位; string 类型可指定编辑器为颜色; string类型可从下来列表框中选择; object, 集合 按照父子行显示,父行只读; 可以设定属性不可编辑...原创 2021-12-29 10:58:48 · 1155 阅读 · 0 评论 -
C# 静态扩展类不具有多态性质
假设类型 ClassA 有子类 ClassB,用静态类分别给ClassA 和 ClassB 加上同名的扩展方法,然后创建对象 ClassA obj = new ClassB(),实例调用 obj 扩展方法时,只会调用其声明类型(ClassA)对应的扩展方法,而不会像普通子类 override 父类 virtual/abstract 方法那样去调用子类的同名扩展方法,即不具有多态性质。 代码验证:namespace TestExtensions{ internal clas...原创 2021-12-28 14:52:49 · 194 阅读 · 0 评论 -
blazor webassembly 导出csv文件
目标将blazor webassembly中的数据打包成字符串,导出csv文件,浏览器自动下载csv文件(其他文件格式思路类似)。通过Server web api方式行不通在server上创建controller, 返回 IActionResult 或者 FileResult public async Task<IActionResult> Download(string id) { Stream stream = await {{__get_stream原创 2021-10-28 12:08:58 · 753 阅读 · 0 评论 -
理化计算程序必备:CoolProp+UnitsNet
物理化学计算 这类计算往往涉及到单位及单位换算,并且要用到物性参数。 例如:0℃=273.15K 质量流量 kg/h = 体积流量 m3/h * 密度 kg/m3 密度就是物性参数,随压力、温度变化。常规做法 只有Frink 、F#、Modelica 少数语言变量是自带单位的,大部分语言变量仅包含数值,单位转换需要在变量进行公式计算之前(预处理)完成,计算后再把结果单位转换为输出单位,单位转换主要通过若干常数实现。...原创 2021-10-09 09:29:27 · 1461 阅读 · 0 评论 -
将 blazor webassembly 部署到 iis 10 上
第一步 发布blazor wasm在工程上右键选择 发布,发布到文件夹,默认到 bin/debug/release/publish 下,然后点 【发布】按钮,发布成功后,在 publish 文件夹内能看到 wwwroot和 web.config。第二步 将发布的文件夹拷贝到服务器上,编辑绑定要求服务器上安装相应的.net 运行时,我的是.net core 3.1第三步 解决跨域问题blazor wasm 需要通过 HttpClient 跟其他 web server 进行 GET POS.原创 2021-09-07 15:34:24 · 3078 阅读 · 2 评论 -
子类型JSON序列化 mscorlib vs System.Private.CoreLib
问题 如果你需要支持子类反序列化,那么需要用到Newtonsoft.json,并设置 JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }此时,所生成的 json 字符串在 .net framework(或mono) 与 .net core 之间不能通用。反...原创 2021-08-23 16:44:37 · 1072 阅读 · 0 评论 -
asp.net mvc 到 asp.net core3.1 mvc 迁移
目标把以前的asp.net web api网站迁移到asp.net core3.1,过程很不平滑,磕磕绊绊。HttpContent.Current 找不到了core里面需要先在 Startup.cs 的 ConfigureServices 方法里加一句services.AddHttpContextAccessor(),再通过HttpContextAccessor.HttpContext 获得这个HttpContent.Current,参考这篇文章。调用不了 gRPC http 服务g..原创 2021-08-06 14:38:06 · 572 阅读 · 0 评论