- 博客(16)
- 资源 (29)
- 收藏
- 关注
原创 WPF使用Prism实现MVVM系列二
上一篇我们已经搭建了整个解决方案的框架,现在搭建wpf的项目结构,创建文件夹Base、View Models、Models、Views,然后把原来的mainwindow.xmal移动到views文件夹下,现在整个结构如下。wpf的mainwindow默认是通过new的方式创建的,但我们使用了依赖注入,此处不能再用new的方式创建,需要改成在app里进行注册的方式。prism框架关联view层和viewmodel层是通过命名方式关联的,需要view试图的名称下增加ViewModel即可自动关联。
2025-05-10 18:45:17
281
原创 WPF使用Prism实现MVVM系列一
此时项目就可以启动了,服务器也注册进来了,可以在构造函数注入HelloWorldService并使用了,IOC容器用的就是刚才安装的unity。一、本次使用wpf最流行的mvvm框架之一的prism,首先创建项目,接口、服务和wpf项目,项目结构如图。二、安装prism包,本次使用的是prism.unity的8.1.97版本。然后prismtest项目引用service。三、修改app.xmal。
2025-05-10 18:06:35
412
原创 .net8 ABPVnext使用autofac
这个地方有一个小坑,我之前喜欢用private,结果发现实例化错误,后来想到属性应该是public,修改之后果然可以运行了。创建一个控制器,修改继承自AbpController,就可以使用属性依赖注入的方式注入userservice了。按照之前的教程,已经使用webapi项目继承了abp的core和mvc之后,并且项目可以启动了。然后启用包volo.abp.autofac,是用的是8.3.4的版本。在自定义模块中,加上autofac的依赖。再创建一个userservice的实现类。
2025-04-25 17:10:59
322
原创 基于mqttnet开发mqtt服务器
此处的坑在于,刚开始不知道怎么处理事件,后来发现有很多handler,这个接收的是委托事件,需要对应的委托事件才可以。以上是创建服务器的代码,其中withConnectionCalidator里的委托的进行身份验证的。引用包3.1版本最新的版本已经到了5.0,但使用方法变化挺大的,暂时继续使用3.1。一、引用包mqttnet。
2025-04-02 16:51:39
385
原创 Docker安装Skywalking
今天想用skywalking对.net6进行一下链路分析,所以要安装Skywalking,选择最简单的安装方式,docker安装。环境搭建好了,接下来就准备写个.net6的webapi项目测试一下了。注意UI要访问skywalking的IP和端口。三、安装skywalking-ui。注意修改成自己docker的IP。二、安装skywalking。
2023-12-20 16:02:33
671
1
原创 Linq动态字段
在linq中,如果想在where或者orderby中使用前端传来的动态条件的话,是不可以的,只能只用lamb表达式。nuget安装System.Linq.Dynamic.Core。
2023-12-06 10:37:11
537
1
原创 docker安装consul
5、然后输入docker所在服务器的IP就可以访问consul 的页面了。2、获取成功后可以用docker images查看镜像。4、运行成功后可以用docker ps指令查看容器。3、然后运行consul。1、首先获取nginx。
2023-12-01 09:36:37
724
1
原创 AutoMapper使用进阶
在配置文件中改成添加程序集,此处注意,如果你的dto没在当前项目中的话,程序集的名称要改成DTO所在程序集的名称。如果每次创建一个dto类,还得在Profile文件里配置CreateMap麻烦的话,可以尝试使用特性配置。这个时候就可以使用automapper进行转换了,个人觉得这种方法 比在profile文件里配置方便一些。然后创建DTO的时候添加特性 [AutoMap(typeof(Role))]
2023-11-29 09:58:37
648
1
原创 automapper.ef6的用法
如果是在webapi项目中使用的话,可以直接使用依赖注入的方式注入automapper,然后直接使用automapper就可以了。在ef6中使用automapper.ef6,需要安装两个包,automapper和automapper.ef6,由于是在仓储层使用,并且不是.netcore项目,所有没有使用依赖注入,创建了一个全局的帮助类。最后就可以使用automapper的projectTo方法去做映射了。1、首先创建了一个配置文件类。2、然后创建了一个帮助类。
2023-11-28 16:49:50
820
原创 基于.net8的webapi使用abp
首先引用volo.abp.core和volo.abp.asp.netcore.mvc,同样需要开启包括预发行版。然后在类上加上特性 [DependsOn(typeof(AbpAspNetCoreMvcModule))],此时就可以覆写OnApplicationInitialization,在此处可以配置管道。然后新建控制器就可以继承 AbpController。创建AppModule继承AbpMoudle,然后在program类里注册模块。此时最基础的abp就引用进来了。
2023-11-25 18:32:24
1182
原创 .net8使用abp vNext
首先创建一个.net8的控制台程序,然后引用volo.abp.core,因为abp还没有完全适配.net8,所以要勾选上包括与发行版。创建服务,继承 ITransientDependency。然后创建模块,继承AbpModule。最后在Program程序中使用服务。.net使用abp vNext。
2023-11-25 17:20:16
1200
原创 EF使用mysql8.0自动迁移数据报索引错误
因为ef创建外键索引的时候使用的索引类型是hash,但在mysql8.0上会报错,需要替换成btree类型。原来项目使用的是mysql5.7,升级到mysql8.0后,自动迁移数据报错。然后把原来的Configuration里的。经过一上午的折腾,终于解决。此时再运行就不会报错了。
2023-11-22 14:11:42
300
原创 git的使用和功能
Git 是一种分布式版本控制系统,可以跟踪文件的变化并协作开发。仓库(Repository):存储代码的位置,可以是本地的文件夹或远程的服务器。提交(Commit):将一组文件的变化记录下来,每次提交需要附带一个描述信息。合并(Merge):将一个分支的代码合并到另一个分支中,以便将来发布和部署。分支(Branch):将代码分割成不同的开发分支,以便并行开发和测试。拉取(Pull):从远程仓库拉取最新代码,以便合并到本地。
2023-09-14 16:14:42
80
1
基于.net使用CommunityToolkit-mvvm实现mvvm的代码
2023-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅