ASP.NET
文章平均质量分 82
Pual singer
知道的越多,知道的越少
展开
-
杨中科 ASP.NET 日志系统
1、日志级别:Trace<Debug<Information<Warning < Error < Critical2、日志提供者(LoggingProvider):把日志输出到哪里。控制台、文件、数据库等。3、.NET的日志非常灵活,对于业务代码只要注入日志对象记录日志即可,具体哪些日志输出到哪里、什么样的格式、是否输出等都有配置或者初始化代码决定。原创 2024-02-19 08:29:44 · 724 阅读 · 0 评论 -
杨中科 ASP.NET DI综合案例
关注于接口,而不是关注于实现,各个服务可以更弱耦合的协同工作。在编写代码的时候,我们甚至都不知道具体的服务是什么。第三方DI容器:Autofac等。Autofac优点:支持属性注入基于名字注入、基于约定的注入等。原创 2024-02-16 22:43:10 · 901 阅读 · 0 评论 -
杨中科 .netcore 依赖注入
生活中的“控制反转”:自己发电和用电网的电。依赖注入(Dependency Injection,Dl)是控制反转:(Inversion of Control,l0c)思想的实现方式。依赖注入简化模块的组装过程,降低模块之间的耦合度。原创 2024-02-16 16:00:46 · 1501 阅读 · 0 评论 -
杨中科 配置系统
1、传统Web.config配置的缺点,之前DI讲到过2、为了兼容,仍然可以使用Web.config和ConfigurationManager类,但不推荐。3、.NET 中的配置系统支持丰富的配置源,包括文件(json、xml、ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源。画以跟踪配置的改变,可以按照优先级覆盖。原创 2024-02-06 11:24:48 · 736 阅读 · 1 评论 -
杨中科 ASP.NETCORE 高级14 SignalR
1、需求:Web聊天;站内沟通。2、传统HTTP:只能客户端主动发送请求3、传统方案:长轮询(Long Polling)。缺点是?(1.客户端发送请求后,服务端要等到有数据返回,返回数据后,才方法连接。2.或者是每秒向服务器发送消息,询问是否有数据返回)一台服务器,能处理得并发量是有限的,这种方式就会很消耗资源。原创 2024-02-05 17:17:55 · 1029 阅读 · 0 评论 -
杨中科 .NETCORE EFCORE第七部分 一对一,多对多
2、测试插入和获取数据。原创 2024-01-16 21:42:36 · 620 阅读 · 0 评论 -
杨中科 EFCORE 第六部分 一对多关系配置
1、所谓“关系数据库”2、复习:数据库表之间的关系: 一对一、一对多、多对多。3、EF Core不仅支持单实体操作,更支持多实体的关系操作。4、三部曲:实体类中关系属性;FluentAPI关系配置;使用关系操作。原创 2024-01-16 17:25:59 · 1034 阅读 · 0 评论 -
杨中科 EFCORE 第五部分 同样的Linq 被不同数据据翻译为不同SQL
同样的C#语句在不同数据库中被EF Core翻译成不同的SQL语句。原创 2024-01-15 17:21:52 · 619 阅读 · 0 评论 -
杨中科 EFCORE 第四部分 命令详解56-61
1、使用迁移脚本,可以对当前连接的数据库执行编号更高的迁移,这个操作叫做“向上迁移” (Up),也可以执行把数据库回退到旧的迁移,这个操作叫“向下迁移(Down)2、除非有特殊需要,否则不要删除Migrations文件夹下的代码。3、进一步分析Migrations下的代码。分析Up、Down等方法。查看Migration编号。4、查看数据库的_EFMigrationsHistory表: 记录当前数据库曾经应用过的迁移脚本,按顺序排列示例:程序结构Person 类主程序类。原创 2024-01-14 21:42:54 · 1077 阅读 · 0 评论 -
杨中科 EFCORE 第三部分 主键
1、EF Core支持多种主键生成策略:自动增长;Guid;Hi/Lo算法等。2、自动增长。优点:简单;缺点: 数据库迁移以及分布式系统中()比较麻烦;并发性能差(long、int等类型主键,默认是自增。因为是数据库生成的值,所以SaveChanges后会自动把主键的值更新到Id属性。试验一下。场景: 插入帖子后,自动重定向帖子地址。3、自增字段的代码中不能为Id赋值,必须保持默认值0.否则运行的时候就会报错示例:SaveChanges后会自动把主键的值更新到Id属性。原创 2024-01-14 15:27:02 · 561 阅读 · 0 评论 -
杨中科 EFCore 第二部分 实体配置
主要规则:1:表名采用DbContext中的对应的DbSet的属性名。2:数据表列的名字采用实体类属性的名字,列的数据类型采用和实体类属性类型最兼容的类型。3:数据表列的可空性取决于对应实体类属性的可空性。4:名字为Id的属性为主键,如果主键为short,int 或者long类型,则默认采用自增字段,如果主键为Guid类型则默认采用默认的Guid生成机制生成主键值。原创 2024-01-14 10:55:44 · 816 阅读 · 0 评论 -
杨中科 .NETCORE 异步编程
异步点餐的优点:能同时服务异步点餐一定会提升点餐速度吗?答案理所当然:不能图片美化服务例子服务器能够同时服务的请求数量有限处理完成后再回调,异步回调通知的。就可以同时处理更多的请求传统多线程开发太麻烦。C#关键字;async、await不等于“多线程。原创 2024-01-11 20:36:19 · 1293 阅读 · 0 评论 -
杨中科 .NETCORE NuGet
使用这个开发包Entity Framework Core用户可以使用LINQ语句删除或者更新多条数据库记录,操作只执行一条SQL语句并且不需要首先把实体对象加载到内存中。这个开发包支持Entity Framework Core 5.0以及更高版。操作说明:第一步https://www.nuget.org 精准搜索合适与不知道什么样的软件包,可以解决你的问题。【注意】查看是否支持你的版本。原创 2024-01-11 16:30:35 · 790 阅读 · 0 评论 -
杨中科 .NET项目结构及程序发布
【总结】:framework项目中,所有文件必须显示的添加到项目文件中。没有添加到该文件的内容,是不属于该项目的。在framework中,是无法双击打开csproj文件的,只能通过打开项目文件位置,找到该文件打开修改,独立:直接生成的包里面,就包含了 .netcore的运行时环境。但是在 .net core中,所有的文件都默认属于项目文件,除非你移除了。在 .netcore中就能直接双击项目文件,在vs打开csproj文件。编译的时候就完成JIT的优化,启动运行速度更快,但是编译速度减慢。原创 2024-01-11 14:55:56 · 495 阅读 · 0 评论 -
杨中科 ASP.NET Core 中的依赖注入的使用
1、在ASP.NET Core项目中一般不需要自己创建ServiceCollection、IServiceProvider。1、把Action用到的服务通过Action的参数注入,在这个参数上标注[FromServices]。2、一般不需要,只有调用频率不高并且资源的创建比较消耗资源的服务才FromServices]3、只有Action方法才能用[FromServices]普通的类默认不支持。若很多方法中,只有这一个方法使用到了 testService。思考:如何在使用到这个方法的时候,才去构造它。原创 2024-01-09 15:06:10 · 700 阅读 · 0 评论 -
杨中科 ASP.NET Core前后端分离开发
2、主流的“前后端分离”: 前端开发人员和后端开发人员分别负责前端和后端代码的开发,各自在自己的项目中进行开发,后端人员只写Web API接口页面由前端人员负责。,可以针对性运维 (扩容等缺点: 对团队的沟通能力要求更高,提前沟通好接口和通知接口变更,不利于SEO (可以用“服务器端渲染”SSR),对运维要求更高。1、传统MVC开发模式: 前后端的代码被放到同一个项目中,前端人员负责编写页面的模板,而后端开发人员负责编写控制器和模型的代码并且“套模板”。3、在views文件夹下创建Login.vue文件。原创 2024-01-08 22:38:03 · 2094 阅读 · 1 评论 -
杨中科 ASP.NETCore WebAPI 控制器及返回值、参数问题
4、Web API中的Action方法的返回值同样支持IActionResult类型,不包含类型信息,因此Swagger等无法推断出类型,所以推荐用ActionResult,它支持类型转换,从而用起来更简单。1、在[HttpGet]、[HttpPost]等中使用占位符,比如[schoolName},捕捉路径中的内容,从而供Action方法的参数使用。2、捕捉的值会被自动赋值给Action中同名的参数如果名字不一致,可以用[FromRoute(Name=“名字”)]原创 2024-01-08 20:09:05 · 1378 阅读 · 0 评论 -
杨中科 ASP.NETCore Rest
1、Web API两种风格: 面向过程(RPC) 、面向REST (REST)2、RPC:“控制器/操作方法“的形式把服务器端的代码当成方法去调用。把HTTP当成传输数据的通道,不关心HTTP谓词。通过QueryString请求报文体给服务器传递数据。状态码。比如/Persons/GetAll、/Persons/GetBvld?原创 2024-01-05 19:09:28 · 824 阅读 · 0 评论 -
ASP.NETCore WebAPI 入门 杨中科
在原始路径上添加 haha此时运行项目:请求路径就发生了变化也可以手动输入路径测试。原创 2024-01-04 22:02:50 · 787 阅读 · 0 评论 -
杨中科 ASP.NETCore开发效率利器 HOT RELOAD
代码发生比较重大的变化时,比如新增、删除方法,给方法增加参数等等。3、方法2: .NET 6开始的Hot Reload(热重载)正常修改代码后 不重启,是无法看到新的数据展示在页面。1、困惑:修改了服务器端的代码,必须重新运行程序。缺点:不是以调试的方式 生成项目,无法使用断点操作。发现此时,不需要重启项目,便可以得到最新的结果。2.如果不太需要断点调试:开始执行不调试方式。2、方法1: [启动 (不调试) ]1.如果需要经常设置断点:热重载。点机保存之后,便能自动刷新。原创 2024-01-04 20:35:39 · 702 阅读 · 0 评论 -
杨中科 ASP.NET MVC
1、ASP.NET Core是.NET中做Web开发的框架2、ASP.NET Core MVC 传统MVC项目,前后端都做在一起3、ASP.NET Core Web API: 前后端分离、多端开发。(是属于MVC中的一部分)4、ASPNET Core MVC其实包含Web API,不过日常一般看成两个东西5、侧重Web API6、需要你有Html、JavaScript的基础,需要了解Http协议。原创 2024-01-04 11:02:47 · 972 阅读 · 0 评论