08 2020 档案
摘要:ASP.NET Core本身已经集成了一个轻量级的IOC容器,开发者只需要定义好接口后,在Startup.cs的ConfigureServices方法里使用对应生命周期的绑定方法即可,但是我们还可以使用其它的扩展进行服务注册 本案例将使用AutoFac进行服务注册,然后读取数据列表 1:框架大概结构
阅读全文
摘要:缓存的优点有很多,比如: 1:提高网站的访问速度 2:适用于不易改变的数据 当然也有缺点,比如: 1:使用缓存之前需要仔细规划这个项目,不然容易引起一些奇怪的副作用 缓存地点 1:服务器 比如是一个单服务器的web应用,缓存就可以放到这个服务器上,就是和web服务器放在一起 2:缓存服务器 如果we
阅读全文
摘要:Filter 过滤器用于MVC,可以在MVC请求管道里添加逻辑,之前或之后,可以避免代码重复,比如授权,日志,对HTTP有要求等等。 比如: [Authorize] public IActionResult Create() { return View(); } 再比如,需要HTTPS请求: [Re
阅读全文
摘要:ASP.Net Core里的LOG系统 • EventSource • ILogger • DiagnosticSource EventSource和DiagnosticSource是ASP.Net Core默认的,它会默认使用这两个,今天主要学习ILogger,它是基于Providers提供商,比
阅读全文
摘要:在做项目时候,一些表单要求有图片上传功能,今天总结一下在ASP.Net Core中如何实现图片上传功能。 实现功能:点击按钮或者文件选择框,选择图片,在input框内显示图片名称,点击保存,将图片上传到images文件夹,同时对图片名称重命名保存到数据库。 新建一个Student.cs: publi
阅读全文
摘要:一、什么是依赖注入(Denpendency Injection) 依赖: 当一个类需要另一个类协作来完成工作的时候就产生了依赖。比如我们在HomeController这个控制器需要对Student表来完成相关的功能。比如:查询,删除,添加,等等,我们由EF来操作数据库写业务逻辑来完成,所以我们写了一
阅读全文
摘要:在ASP.Net Core中一般使用CodeFirst开发模式,通过EntityFramek Core来对数据库的读写操作,有时候我们可能会修改实体模型类,这个时候不建议手动修改对应的数据库表,这是不科学的,我们要做的是使用迁移功能,来保持实体与数据库架构同步 假如有一个Student类,如下: p
阅读全文
摘要:种子数据:为我们的数据库表添加初始数据,就称之为种子数据,就是使用codefirst开发模式,采用EntityFramek Core迁移命令的时候,对数据库表初始化一条数据,或者多条数据 这样做有利于后期维护,保持项目实体类的版本和数据库表版本同步,如果哪天把实体类中某一个字段的类型给改了,这个时候
阅读全文
摘要:1:EnvironmentTaghelper支持根据不同的环境加载不同的内容,更多时候是帮助我们将我们的开发环境和生产环境进行一个剥离 2:比如:我们在生产环境用cdn上的bootstrap文件,在开发环境使用本地bootstrap文件,就可以使用Environment标签进行隔离,可以使用TagH
阅读全文
摘要:今天使用dotnet命令行迁移数据,输入: dotnet ef migrations add InitialCreate; 结果直接报错,如下: 这是因为:从 3.0 起,EF Core 命令列工具 (dotnet ef) 不在 .NET Core SDK 里面,需另装。命令如下: dotnet t
阅读全文
摘要:中间件分类 ASP.NET Core 中间件的配置方法可以分为以上三种,对应的Helper方法分别是:Run(), Use(), Map()。 Run(),使用Run调用中间件的时候,会直接返回一个响应,所以后续的中间件将不会被执行了。 Use(),它会对请求做一些工作或处理,例如添加一些请求的上下
阅读全文
摘要:View Components:和分布视图差不多,但是它有独立的数据源,如下: 1:可复用 2:独立的组件 3:有独立的逻辑/数据 4:相当于迷你MVC请求 5:不依赖于父级view的数据 看一张图: 外层使用布局页,内层为index.cshtml,比如里边的Model存放的学生信息,但是页面的下方
阅读全文
摘要:Partial View:顾名思义,就是一部分视图,叫“分布视图”; 1:主要用来复用代码,它里边的代码可以到处复用,就像公有方法一样。如图: 2:index.cshtml页面继承了布局页,在index页面里又使用@HTML.Partial()语句来调用一个分布视图。 3:第一个参数是分布视图名称,
阅读全文
摘要:ASP.Net Core Identity是ASP.Net Core默认的内置的身份认证授权系统,可以管理成员,角色等等之类的东西,默认使用的是Microsoft SqlServer,然后,它也支持外部的身份认证。 • 写个小例子,学习记录一下: 一个控制器:AccountController;两个
阅读全文
摘要:模型验证就是我们可以给模型类中的属性添加一些规则,然后判别用户输入的信息是否符合。比如,有些属性必填,有的是密码不可见,然后当用户提交Post请求后,框架就会进行验证,如果不通过,可以把错误信息返回给用户! 比如有这样一个模型类: public class StudentCreateViewMode
阅读全文
摘要:先定义一个类: 然后调用: 输出: 这样非常有利于后期项目维护,比如我们在使用MVC开发时候,后端返回到某个视图,我们平时喜欢写字符串的形式,如果项目越来越大,后期突然哪个控制器或者动作不用了,使用字符串的形式维护起来就非常麻烦,用nameof就可以很好的解决,最重要的是不会影响性能!
阅读全文
摘要:value其实就是C#类里边的属性,比如,我们有个类叫Student,cs,里边有int类型名为“ID”的属性,我们在构造函数里接收传入的值然后为这个属性赋值,然后实例化类,传入一个1,这是value就是1;如下: public class Student { public Student(int
阅读全文
摘要:抛出异常 异常可以被运行时或者用户抛出。比如: 直接传入一个null,然后在try里调用方法,catch捕获异常。这就相当于用户抛出一个异常。 在C#7之前,throw是个语句,而现在它可以作为exception-bodied functions里的一个表达式: 也可以出现在三元表达式里: 重新抛出
阅读全文
摘要:Try语句 1:try 语句指定了用来进行错误处理或清理的一个代码块。 2:try 语句块后边必须紧接着一个 catch 块或者是一个 finally 块,或者两者都有。 3:当 try 块里发生错逞的时候, catch 块就会被执行。 4:finally 块会在执行完 try 块之后执行,如果 c
阅读全文
摘要:实例方法目标和静态方法目标 实例方法就是通过new一个对象,调用里边的方法,静态方法就是直接通过类名调用,这都是C#基础知识。 1:当一个实例方法被赋值给委托对象的时候,这个委托对象不仅要保留着对方法的引用,还要保留着方法所属实例的引用。 2:System.Delegate的Target属性就代表着
阅读全文
摘要:概念 • 关于委托的概念呢,在网上看了好多,刚开始很懵,说法太多太乱,可能要去理解这些抽象的东西时候,需要一个接收过程吧,需要一定的时间去消化这些抽象知识。 • 今天在这里我按我自己的理解去总结一下关于委托的相关基础知识。希望对大家有所帮助,大家也不要把委托想成一个多么复杂的概念,其实如果光理解概念
阅读全文
摘要:Controller MVC这种架构模式在我们的日常开发中使用的还是比较多的,因为它比较简便,可以让我们很轻松的构建出HTML页面,或者是基于HTTP的API。今天学习一下从控制器中返回数据到View的内容。在ASP.Net Core这套框架里要使用MVC需要添加中间件,配置路由,之前讲过了,这里不
阅读全文
摘要:中间件 这一期就系统的了解一下在ASP.Net Core中的中间件,在ASP.Net Core中需要在startup.cs文件中的Configure方法配置我们需要的中间件,新建的ASP.Net Core空模板项目中有一个默认的中间件,就是app.run(),只不过这个中间件不常用,而且也比较简单。
阅读全文
摘要:注册服务 上一篇中最后说道可以通过IConfiguration来获取配置信息,因为ASP.Net Core里使用的都是依赖注入,而IConfiguration是已经被注册好的,我们可以直接使用里边的服务,比如可以让我们来获取一些配置信息,今天就学习一下服务注册和管道,自己简单写一个服务,然后实现依赖
阅读全文

浙公网安备 33010602011771号