07 2022 档案

摘要:认证方式简述Blazor Server微软官方还是推荐直接使用Cookie授权,因为本来Blazor Server就是前后端不分离的。不存在Cookie跨域等一系列问题。只要不是使用SSO之类的统一登录方式,建议直接使用Cookie作为认证方式就行,简单方便。添加Cookie认证Blazor添加Co 阅读全文
posted @ 2022-07-29 10:00 jvx 阅读(5474) 评论(3) 推荐(5) 编辑
摘要:开篇上一篇文章我们留了个尾巴,没有把freesql整合进去,这篇文章我们来整合。目前的思路呢,是做一个简单的四不像的RABC,也有用户、角色、权限三部分。但是其中每个用户只有一个角色,即用户和角色之间是一多关系。每个角色可以有多个权限,即权限跟角色之间是多多关系。这样主要是想说一下freesql怎么 阅读全文
posted @ 2022-07-28 10:01 jvx 阅读(3077) 评论(1) 推荐(2) 编辑
摘要:项目介绍本次项目准备搭建一个使用Furion框架,Blazor的UI使用BootstrapBlazor、数据库ORM使用Freesql的后台管理系统。目前的规划是实现简单的注册,登录。增加管理员跟普通用户两种权限,不会实现复杂的权限管理,但是也不准备用默认的那套,自己实现一个简单的架子把。然后实现一 阅读全文
posted @ 2022-07-27 14:42 jvx 阅读(4620) 评论(5) 推荐(5) 编辑
摘要:HtmlAgilityPack介绍HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html。有人说了,html本身不就是xml?是的,html就是xml,但是html很宽松,没有关闭的节点也可以用,还有一些其他的内容比如js夹杂在里面。如果直接使用xml解析 阅读全文
posted @ 2022-07-26 15:38 jvx 阅读(1386) 评论(0) 推荐(0) 编辑
摘要:使用模板使用模板是最简单的办法。因为项目模板里已经包含了BootStrapBlazor的所有需要配置的内容。首先我们安装项目模板:dotnet new -i Bootstrap.Blazor.Templates::6.4.1这里的6.4.1是版本号,截至到目前Templates的版本号为6.4.1。 阅读全文
posted @ 2022-07-25 09:28 jvx 阅读(1565) 评论(0) 推荐(4) 编辑
摘要:之前我们介绍了如何用SharpZipLib来打.tar.gz压缩包。但是这个压缩软件有两个问题,一是代码比较多,压缩起来没有那么方便;二是压缩的.tar.gz在linux上解压时会有警告,需要跳过这些警告。SharpCompress解决了这两个问题,使用SharpCompress压缩的.tar.gz 阅读全文
posted @ 2022-07-22 17:16 jvx 阅读(1781) 评论(0) 推荐(0) 编辑
摘要:上一篇文章我们说了如何用SharpZipLib来压缩.tar.gz,这篇文章我们来看看如何解压。直接上代码:using ICSharpCode.SharpZipLib.GZip; using ICSharpCode.SharpZipLib.Tar; public void ExtractTGZ(St 阅读全文
posted @ 2022-07-21 17:29 jvx 阅读(1442) 评论(0) 推荐(0) 编辑
摘要:.tar.gz是linux上常见的压缩格式,linux默认支持这种压缩格式,所以我们经常见到在linux系统上的.tar.gz包。这里我们说一下怎么用SharpZipLib来打一个.tar.gz的压缩包。using System; using System.IO; using ICSharpCode 阅读全文
posted @ 2022-07-20 17:13 jvx 阅读(1363) 评论(0) 推荐(0) 编辑
摘要:在上篇文章c# 添加系统右键菜单(Windows11以前)中我们说了怎么在文件夹上增加一个菜单项,但是我们可能还需要给某个单独的扩展名添加右键菜单。这里我们不用常见的扩展名来做,我们新做一个.jx的扩展名,用我们自己的程序打开它。首先我们要在注册表中注册我们的扩展名,我们可以打开regedit看一下 阅读全文
posted @ 2022-07-19 16:27 jvx 阅读(1169) 评论(2) 推荐(10) 编辑
摘要:Winform的Tab控件,有新增有移除,但是呢,缺了一个标签页上的关闭按钮,这个东西说重要也重要,说不重要也不重要。这里就说一下怎么添加这玩意。这玩意需要重绘tab控件,所以我们需要处理DrawItem事件,在DrawItem里面把这个X画出来。这里我们就用英文字母的x来当作关闭按钮,也不加什么鼠 阅读全文
posted @ 2022-07-18 17:39 jvx 阅读(1908) 评论(0) 推荐(0) 编辑
摘要:今天介绍一下在注册表中添加系统右键菜单实现在文件夹的右键菜单中添加,删除以及查找是否已经添加的方法。注意这里的方法仅限于Windows11之前使用,Windows11默认的右键菜单已经改变,需要使用其他方式处理。查询是否存在RegistryKey shell = Registry.ClassesRo 阅读全文
posted @ 2022-07-12 15:54 jvx 阅读(1880) 评论(0) 推荐(0) 编辑
摘要:在Winform中,标签页是我们很难绕开的一个控件,而且,我们经常有动态添加标签页的需求。这里介绍一个最简单的添加方法:首先,我们把需要添加的内容做成UserControl,这样,我们就可以在添加的时候不用考虑布局的问题了,所有的内容都在UserControl里,这里我们假定有一个TestContr 阅读全文
posted @ 2022-07-11 16:24 jvx 阅读(3775) 评论(0) 推荐(0) 编辑
摘要:在实际工作中,我们经常有需要监控部分文件或文件夹更改的需求。这时候,FileSystemWatcher就派上用场了。首先我们new一个FileSystemWatcher实例FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();然后 阅读全文
posted @ 2022-07-07 10:09 jvx 阅读(1753) 评论(0) 推荐(1) 编辑
摘要:我们来做一个头为6位报文总长度,并且长度不包含长度域自身的例子。比如这样的Socket报文000006123456。添加SuperSocket.Engine,直接使用Nuget搜索SuperSocket.Engine安装即可,依赖项为SuperSocket和log4net。这里注意,SuperSoc 阅读全文
posted @ 2022-07-06 16:12 jvx 阅读(1054) 评论(0) 推荐(0) 编辑
摘要:有时候,我们的开发环境可能没有网络,vs也不太好安装。这时候我们就可以使用Rider。但是没有Nuget的话,很多东西用起来很复杂。所以这里介绍一下Rider离线配置Nuget的方法。从Nuget的官网下载对应的包,扩展名为.nupkg。打开https://www.nuget.org/搜索你要找的包 阅读全文
posted @ 2022-07-06 15:09 jvx 阅读(3107) 评论(0) 推荐(0) 编辑
摘要:最近又拿起了Winform的程序,由于要起socket server,所以需要起线程,这里就遇到了经典的跨线程UI调用的问题。如果什么都不写,直接由线程更新UI,会报错:线程间操作无效。这里的解决方案一般有三种:第一种,去掉主线程安全检查。这种方式非常不安全,可能引起崩溃,所以基本上不推荐这种方式: 阅读全文
posted @ 2022-07-01 18:07 jvx 阅读(1758) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示