- 博客(1862)
- 资源 (17)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 博主老程序员长期个人接单,找远程兼职工作
后端: .net winform + webapi。前端:vue2 + vue3 + 微信小程序。数据库: sqlserver + mysql。
2023-09-28 14:51:01
543
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 自己开发的 Vue 下的甘特图 组件 已上传到GitHub上
经过 2021年的一个春节,从年前到现在,大致撸出一个 甘特图,进度条是用SVG画的,使用了几个工具库 (interactjs 用来处理拖拽和修改尺寸,snap.svg 用来处理 svg 的dom 操作,moment.js用来处理时间的操作),其他没有依赖任何的UI组件,目前初见雏形,还比较粗糙,后面会不断更新源码地址点击期间也摸索了怎么把vs code的项目上传到 GitHub 上面进行源代码的管理,基本上是参考的这篇文章做的...
2022-03-06 21:18:16
2079
5
原创 .net 8.0 下 Blazor 通过 SignalR 与 Winform 交互
那么上面Blazor服务端的事就做完了,非常简单。因为咱使用的是 https,所以还有个连接时证书验证的问题。等真的需要验证了再改写 ValidateServerCertificate 方法的逻辑。每点击一次 Button1 ,Blazor 的网页端就会收到新的 guid。在 Blazor 的一个页面接收来自客户端 Winform 的消息。,SignalR 的包, VS 默认会建议你安装。不然会少一个扩展类,没有 WithUrl。这个时候就可以把两端的程序跑来做验证了。程序初始化的时候要注册这个Hub。
2024-08-18 10:47:25
327
原创 Azure AD 配置角色,在Blazor中读取角色
首先是在 Microsoft Entra admin center 中配置你的应用程序角色。接下来就可以在Blazor页面中读取了。1. 首先从下图找到你要配置的程序。2. 然后找到分配用户到角色的地方。然后分配用户到你创建的角色。这样就成功给用户分配了权限。
2024-08-01 14:11:48
270
原创 Azure AD 登录时报错 AADSTS700054: response_type ‘id_token‘ is not enabled
遇到这个错误,下图这个地方记得打勾。
2024-08-01 10:18:15
120
原创 运行期动态配置 Nlog 日志打印
但是这样一来,我在服务端想要随时的打开和关闭这个设置就尤为麻烦了,尤其是这种配置如果放在 Android App 里面,修改配置还要修改 App 本地的文件,着显然是行不通的。所以目的是放在服务器端的数据库,通过远程的配置来刷新本地 App,这个时候需要从远程的服务器读取配置,在运行时改变 NLog 的行为。至于 starts-with('${message}', 'Tx:') 这样的写法,不是我实现的解析,而是 NLog 自身支持的,需要时,自行去查阅 NLog 的资料。
2024-07-25 16:28:20
375
原创 SqlServer 使用T-SQL单纯的复制表数据
今天用Sql Server Manager Studio 先复制一个库建立一个新库出来,各种报错,也不知道是为什么,连备份再还原都不行,算了,自己写个SQL 脚本来执行算了......坏处是视图,存储过程和函数都没有复制过来。
2024-07-23 19:39:10
417
原创 用adb指令把文件拷贝到Android模拟器
首先必须要运行你要拷贝文件的目标Android模拟器,你关闭他的话,你是找不到这个设备的。管理员权限运行vs studio,在vs studio下打开Andriod的设备管理器。这个时候就可以去Android模拟器上去找到这个文件了,点击下图的Files。然后把这个文件拷贝到模拟器的 Download 目录下,使用adb命令。然后保持运行就不要管他了,找到你要拷贝的文件路径,比如。点击打开,就能找到刚才拷贝的文件了。运行你要拷贝文件的那个模拟器。这里有个Downloads。
2024-07-17 16:18:55
360
原创 把Docker的虚拟磁盘文件移动到别的盘符
今天清理C盘空间,发现一个很大的文件 ext4.vhdx 足有 15G 之多,发现这个是Docker的虚拟磁盘文件,于是在网上找到移到它的办法,使用 PowerShell 执行下面命令。压缩备份到别的盘符下,假设叫 E:\dockerdata\docker-desktop-data.tar。注销现有docker-desktop-data。查看Docker状态和版本。导入之前备份好的压缩文件。关闭Docker服务。
2024-07-12 22:48:33
308
原创 在Vue中用SVG画一个油罐
这是3年前做的一个数字大屏项目,如今接到个活,可能又要用到SVG了,所以把之前的代码找出来回顾一下,都快忘了怎么玩这个东西了,核心用的是 snapsvg 这个前端库。
2024-07-12 08:55:38
277
原创 Blazor 统一处理异常
每个代码段都去写 try catch 当然不可取,因为总会有疏漏的地方吧,如果有些遗留,那么很容易造成 bug 无迹可循,甚至有时候看windows日志也看不到痕迹,现在就考虑做一个统一处理异常并捕获的地方。建立一个类,ExceptionHandlingMiddleware 作为异常处理的中间件。在 program.cs 里注册这个中间件。
2024-06-11 11:45:26
323
原创 自定义实现Blazor Server 模式 Bootstrap 主题切换
首先我要说明的是,这些主题都是根据 Bootstrap 实现的,这个是基础,如果你想要跳出 Bootstrap 的范围,那么下面的内容不适合你。接着我们可以在 _Host.cshtml 页面去读取保存的Cookie,取出主题名称,根据主题的名称加载不同的css文件。图中的主题来自一个 Bootstrap 主题网站,里面有25个主题可供下载,都是免费的,very nice!我是根据一段视频实现的,不过在 youtube 上面,至于怎么才能看到,你懂的,下面是链接,请自行科学上网。的Contronller。
2024-06-11 09:04:03
502
原创 Blazor 下支持 Azure AD 的多套登录方案
比如上图配置了两套不同的登录方案,各有自己的 TenantId 和 ClientId ,要同时支持他们的登录(其实在同一套 TenantId 和 ClientId 里面配置多个登录账户不就好了,但是......那套登录的管理是在客户自己的Azure AD账户管理下的,而作为技术支持不想麻烦客户,更何况客户不一定同意呢,所以需要第二套专为技术支持提供的用户组......那么就自己再弄一套吧)一个给客户登录用,一个给技术支持登录用,最后一个是登出,这个工作都在 StartUp 里完成,只列出核心代码。
2024-05-24 11:17:03
454
原创 手动验证 Azure AD 并设置登录状态
3. 自定义一个 CustomAuthenticationStateProvider 类继承自抽象类 AuthenticationStateProvider,自己写修改当前验证状态的方法。1. client_id,client_secret,username,password 是必须要的。设置了验证的状态以后,页面上 Authorized 这样的UI部分才可以正常显示。/...... 提交参数,成功就可以拿到 token。
2024-05-23 09:30:57
385
原创 突然连接不上 Bitbucket.org?
找到C:\Windows\System32\drivers\etc下的hosts文件用记事本/notepad ++打开,咱加到host文件里面。查找一下 Bitbucket.org 的IP,使用这个网址。提交或拉取时都出现了错误。
2024-05-10 23:10:19
427
原创 Blazor 下的 Json 编辑器
最近恰好碰到个比较冷门的需求,就是在线编码 Json,这其中有Json的语法着色,有Json对象属性数据类型的限制,其实要是单纯改一下Json字符串也不是难事,就是没法控制让用户只能给属性值,而不是属性名称,下面这个编辑器刚好可以满足需求。
2024-04-19 15:06:55
396
原创 一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架
由于没有对权限进行细分,所以没有做菜单的权限控制,基本上有 Azure 账户就能登录进来,如果要细分,也很简单,就是在 Azure 的 Claims 里做文章,这里也不说了。Azure 登录的关键代码在 BasicLayout.razor,这点跟传统的登录以后再跳转有些不一样。一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架。此外实现了读取和修改本地Json文件的功能,不是必须的,不需要的可以拿掉,我是自己项目需要。登录方式使用 Azure。
2024-04-18 22:36:03
684
1
原创 Asp.net 使用了 bootstrap,发布时样式丢失了
其实一般只需要用到 bootstrap.css 和 site.css。究其原因其实是css文件压缩了以后,页面不能识别了。修改 BundleConfig.cs。修改 Bundle.config。修改 Global.asax。
2024-04-10 12:09:03
387
原创 SSRS错误:打开Web服务URL http 500 错误
安装完SSRS后,点击如下链接,出现 http 500 错误。发现是这个文件夹的读取权限出了问题,下面修改权限。查看 windows 的事件日志。
2024-04-03 09:22:44
353
原创 SSRS错误:无法完成当前操作。用户数据源凭据不满足运行此报表或共享数据集的要求。用户数据源凭据未存储在报表服务器数据库中,或者用户数据源配置为不需要凭据但未指定无人参与的执行帐户
就我而言,这是因为一些部署参数。
2024-04-03 09:11:23
304
原创 获取调用 Azure 服务的AccessToken
核心是使用 Graph API ConfidentialClientApplicationBuilder 以及 AcquireTokenForClient。这个Scopes为上面的固定默认值。
2024-03-04 17:56:59
396
原创 如何升级 Blazor Asp.net Identity 脚手架自带的 jQuery ,jQuery Validation, Unobtrusive validation 版本,去掉CDN
当然这种方法可以非常彻底的解决问题,不会依赖 Microsoft.AspNetCore.Identity.UI 版本,想用哪个js版本手动覆盖就行了,缺点就是每次发布以后都要手动覆盖一次,比较费事。然后,关键的东西来了,如果你的项目是 .net 7 创建的,请务必要把 Microsoft.AspNetCore.Identity.UI 这个库升级到 7.0.16。修改一下这个文件里面的路径,对比如下,右边是修改好的,替换CDN为本地路径。首先来个卸载,安装,升级三部曲,我们升级一下脚手架的版本。
2024-02-15 10:12:18
580
1
原创 T-Sql 也能更新修改查询JSON?
具体的用法还是参考下如上链接吧,需要说明的是,如果不确定将来项目不会更换数据库的类型,还是不要使用“方言的”T-SQL语法,以免切换数据库的时候造成麻烦!我倍感诧异,我印象当中Sql Server并不支持JOSN的相关操作,他最多只把JSON当成一个字符串来存储,更不要说去解析,查询和更新了。在 SQL Server 2016 (13.x) 及更高版本 已支持 JSON 的解析了,amazing!我随后查询了下此函数,得到微软的官方文档,
2024-02-05 13:14:31
703
原创 在 Asp.net webapi 中使用filter 验证 auth0 jwt
auth0 的 jwt 有些不一样,它是没有 SecretKey 的,这里手动处理了这个验证。
2023-12-11 10:35:47
684
原创 .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
【代码】.net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池。
2023-11-02 09:01:06
794
原创 使用SweetAlert2 弹层(模态,提示框,过几秒消失......等等)
最近在做一个Asp.net MVC的项目,里面用部分视图页弹层,感觉很不爽,用着别扭。在前后端分离的项目里,我们肯定用封装好的前端UI库了,比如element ui,但是 Asp.net MVC的项目里面集成这个比较困难......我自己测试过的例子在下面,功能非常全面,我觉得完全够用了,唯一不好得就是 html 要拼接字符串......就找了个前端弹层组件 SweetAlert2。
2023-10-30 09:31:08
850
原创 使用Mapster实现双向映射,解放搬砖体力活
这样的体力活着实让人乏累,也许很多人说可以用AutoMapper,但是AutoMapper 仍然不能让我感到满意,AutoMapper 的代码我就不写了,我们使用Mapster,个人觉得很轻巧,很好用。可以看到,无论是对象A拷贝到对象B,还是对象B拷贝到对象A,只用配置一次就可以了,跟AutoMapper 的代码量我就不去对比,反正用过的都说香,再也不想用AutoMapper了,唯一一点就是这个库的知名度还赶不上AutoMapper。然而这还不够,我们经常还需要反向操作赋值。他需要一个个的赋值操作。
2023-10-26 20:28:43
520
原创 .net 使用IL生成代理类实现AOP对比Java Spring Boot的AOP
动态代理实现方式:在Java Spring Boot中,基于代理的AOP主要使用JDK动态代理和CGLIB代理来实现。而在C#中,使用IL生成器(ILGenerator)直接操作IL指令来生成和修改类型的字节码,实现动态代理。第三方库和框架:在Java生态系统中,有许多第三方库和框架(如AspectJ、Spring AOP)提供了高级别的API和工具,使AOP的使用更加方便。IL的语法和特性:IL是.NET平台的中间语言,类似于汇编语言,但具有一些.NET特定的语法和特性。
2023-09-25 08:43:22
384
原创 图解Spring三级缓存的工作流程
4. 把不完整(只初始化了,属性并没有填充) 目标Bean注入到目标Bean的子Bean中(我艹,好绕)三级缓存是为了解决循环依赖注入的问题,而且是单例的情况,其他情况是用不到三级缓存的。3. 再从三级缓存找到目标Bean移动到二级缓存,再从三级缓存中移除。2. 再实例化目标Bean的子Bean,并依赖注入, 放到三级缓存。6. 把目标Bean的子Bean注入到目标Bean。8. 目标Bean完成了属性填充,放入一级缓存。1. 先实例化目标Bean,放到三级缓存。7. 从一级缓存找到子Bean的实例。
2023-08-29 20:22:02
594
1
原创 Git 主要命令和操作流程(来自B站黑马)
oneline 就是在同一行显示,graph 是以层次关系显示, --abbrev-commit 是查看唯一标识符。那么这么长的命令,每次要敲就很不方便了,所有里面也提到起一个别名来简化。其中 git 查看日志有好些参数,黑马总结了下,这里记录一下。
2023-08-04 15:49:06
242
原创 Java Maven 构建项目里面有个聚合的概念
Java 项目里面有个聚合的概念,它没有.net里面解决方案(solution)的能力,可以统一的编译项目下的所有包,或设置统一的打包路径,使用maven编译后的产物也不会像.net那样编译到当前项目的bin文件夹下面,而是统一的生成到配置好的 settings.xml 文件的 localRepository 配置节下的路径,为了实现统一编译和打包的能力,这时候就要建立一个空的包,注意是空的!里面删除src文件夹,因为它根本不需要写代码,他要做的就是修改pom.xml文件。
2023-08-02 15:14:02
720
原创 IntelliJ IDEA 2023.1.3 主菜单不见了
双击shift,在弹出的菜单里面搜索 "main menu",在下图高亮位置选项改为 on。然后主菜单找半天都不知道怎么回来,下面记录找回来的过程。通过以下操作,去掉了勾,把主菜单玩没了。
2023-08-01 10:27:45
516
原创 治好 el-table 固定列一拖动就错位的病
如图所示,界面经常在刷新,或改变大小的时候,el-table 的固定列就开始错位,这时候应该使用ResizeObserver 登场了,用它来监控 el-table 大小的改变,同时触发 el-table 的 doLayout 方法来重新渲染 el-table,同时还要注意在 Vue 组件销毁前注销掉 ResizeObserver,以免造成内存泄漏。
2023-04-25 11:01:29
329
1
原创 使用FullCalendar做日程安排
其中日周天的选择器都是作为插件引入的,这个组件还是蛮庞杂的,功能也强大,需要时间去研究。自定义实现了加载,删除,样式的定义,鼠标悬停的显示,如图。
2023-03-15 14:55:27
2282
原创 SignalR注册成Windows后台服务,并实现web前端断线重连
本文主要说明 SignalR 如何注册成 windows 后台服务,及前端如何在断线的情况下不断尝试重新连接
2023-02-12 13:51:14
1724
2
.net 8 + Azure 登录 + Ant Design Blazor
2024-04-18
Advanced.Installer.v13.1注册机
2016-09-19
MySQLBackupFTP及注册工具
2016-09-19
AlwaysUp8.5及注册机
2015-09-25
数据库数据互导及文档生成工具(IT人员必备)
2015-01-19
类似SCSF中EventBroker解耦事件调用方和接受方,打破"+="带来的耦合
2014-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人