ASP.NET

ASP.NET Core3.x API版本控制的实现

前言 一般来说需要更改我们API的时候才考虑版本控制,但是我觉得我们不应该等到那时候来实现它,我们应该有一个版本策略从我们应用程序开发时就开始制定好我们的策略,我们一直遵循着这个策略进行开发。 我们其实可以通过多种方式进行实现我们API版本的控制,其实对于版本控制没有最好的方式,这完全取决于我们面向的使用者。 API版本控制类型 安装版本控制包 Install-Package Microsoft.... »

1个文件如何轻松搞定Asp.net core 3.1动态页面转静态页面

前言 最近一个Asp.net core项目需要静态化页面,百度查找了一下,没有发现合适的。原因如下 配置麻烦。 类库引用了第三方类,修改起来麻烦。 有只支持MVC,不支持PageModel。 继承ActionFilterAttribute类,只重写了OnActionExecutionAsync,看似静态化了,其实运行时该查数据库还是查数据库,没有真正静态化。 缺少灵活性,没有在线更新静态文件方法,... »

ASP.NET生成验证码的方法

本文实例为大家分享了ASP.NET生成验证码的具体代码,供大家参考,具体内容如下 首先,添加一个一般处理程序 注释很详细了,有不懂的欢迎评论 using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Web; using System.Web.Sessi... »

ASP.NET实现图片自动添加水印

ASP.NET实现图片自动添加水印

本文实例为大家分享了ASP.NET实现图片自动添加水印的具体代码,供大家参考,具体内容如下 先建一个类,感觉注释已经很详细了,有不懂的欢迎评论 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using Syste... »

ASP.NET Core自定义中间件如何读取Request.Body与Response.Body的内容详解

背景# 最近在徒手造轮子,编写一个ASP.NET Core的日志监控器,其中用到了自定义中间件读取Request.Body和Response.Body的内容,但是编写过程,并不像想象中的一帆风顺,ASP.NET Core针对Request.Body和Response.Body的几个特殊设计,导致了完成以上功能需要绕一些弯路。   原始代码# 为了读取Request.Body和Respon... »

asp.net mvc core管道及拦截器的理解

今天来看一下asp.net core的执行管道。先看下官方说明:  从上图可以抛光,asp.net core的执行顺序是,当收到一个请求后,request请求会先经过已注册的中间件,然后会进入到mvc的拦截器管道: 进入mvc管道后,根据以上顺序执行过滤校正。 OK,根据以上说明下面我们新建一个MVC的演示,将执行方式切换为控台运行: // This method gets called... »

.net core 3.1在iis上发布的踩坑记录

前言 写这篇文章的目的是希望像我一样喜欢.net 的人在发布 core到 iis上时少走点弯路 网上找了些资料,其实实际操作比较简单,就是有几个坑很恶心 踩坑记录 首先是你的服务器需要有core 的运行环境,安装前先关闭iis dotnet-hosting-3.1.4-win.exe 可以去微软的官网找最新的版本(去微软的官网找你要的版本就好了) 安装成功后,第一个坑出现了,启动iis,发现原来在... »

关于.NET Attribute在数据校验中的应用教程

前言 Attribute(特性)的概念不在此赘述了,相信有点.NET基础的开发人员都明白,用过Attribute的人也不在少数,毕竟很多框架都提供自定义的属性,类似于Newtonsoft.JSON中JsonProperty、JsonIgnore等 自定义特性 .NET 框架允许创建自定义特性,用于存储声明性的信息,且可在运行时被检索。该信息根据设计标准和应用程序需要,可与任何目标元素相关。 创建并... »

Asp.net Core中实现自定义身份认证的示例代码

Asp.Net Core中虽然集成了许多常用的身份认证,但很多时候,我们还是需要实现自己的身份认证接口,本文这里就简单的介绍下如何实现自定义身份认证接口。 首先写一个简单的接口。 [Authorize] [HttpGet] public object Foo() { return DateTime.Now.ToString(); } 由于有Authorize标记,访问函数体前会判断用户是否通过认证... »

ASP.NET Core MVC如何实现运行时动态定义Controller类型

昨天有个朋友在微信上问我一个问题:他希望通过动态脚本的形式实现对ASP.NET Core MVC应用的扩展,比如在程序运行过程中上传一段C#脚本将其中定义的Controller类型注册到应用中,问我是否有好解决方案。我当时在外边,回复不太方便,所以只给他说了两个接口/类型:IActionDescriptorProvider和ApplicationPartManager。这是一个挺有意思的问题,所以... »

xUnit 编写 ASP.NET Core 单元测试的方法

还记得 .NET Framework 的 ASP.NET WebForm 吗?那个年代如果要在 Web 层做单元测试简直就是灾难啊。.NET Core 吸取教训,在设计上考虑到了可测试性,就连 ASP.NET Core 这种 Web 或 API 应用要做单元测试也是很方便的。其中面向接口和依赖注入在这方面起到了非常重要的作用。 本文就来手把手教你如何用 xUnit 对 ASP.NET Core 应... »

聊一聊Asp.net过滤器Filter那一些事

最近在整理优化.net代码时,发现几个很不友好的处理现象:登录判断、权限认证、日志记录、异常处理等通用操作,在项目中的action中到处都是。在代码优化上,这一点是很重要着力点。这时.net中的过滤器、拦截器(Filter)就派上用场了。现在根据这几天的实际工作,对其做了一个简单的梳理,分享出来,以供大家参考交流,如有写的不妥之处,多多指出,多多交流。 概述: .net中的Filter中主要包括以... »

.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)

依赖倒置原则依赖倒置是面向对象六大基本原则之一。 »

ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法

说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 关于Magicodes.IE 导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持Excel、Word、Pdf和Html。 GitHub地址:https://github.com/xin-lai/Magicodes.IE 主要步骤 1.安装包Magicodes.IE.Csv Install-Package Ma... »

ASP.NET Core WebAPI实现本地化(单资源文件)

在Startup ConfigureServices 注册本地化所需要的服务AddLocalization和 Configure<RequestLocalizationOptions> public void ConfigureServices(IServiceCollection services) { services.AddLocalization(); services.Con... »

ASP.NET Core单文件和多文件上传并保存到服务端的方法

前言:   在我们日常开发中,关于图片,视频,音频,文档等相关文件上传并保存到服务端中是非常常见的一个功能,今天主要是把自己在开发中常用的两种方式记录下来方便一下直接使用,并且希望能够帮助到有需要的同学! 一、配置ASP.NET Core中的静态文件: 简单概述:   在ASP.NET Core应用中静态资源文件需要进行相应的配置才能够提供给客户端直接使用。 详情描述请参考官方文档: https:... »

.net Core 3.0 WebApi 创建Linux守护进程的方法

前言 我们一般可以在Linux服务器上执行 dotnet <app_assembly.dll> 命令来运行我们的.net Core WebApi应用。但是这样运行起来的应用很不稳定,关闭终端窗口之后,应用也会停止运行。为了让其可以稳定运行,我们需要让它变成系统的守护进程,成为一种服务一直在系统中运行,出现异常时也能重新启动。 Linux系统有自己的守护进程管理工具 Systemd 。s... »

ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现

ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现

IViewLocationExpander API ExpandViewLocations Razor视图路径,视图引擎会搜索该路径. PopulateValues 每次调用都会填充路由 项目目录如下所示 创建区域扩展器,其实我并不需要多区域,我目前只需要达到一个区域中有多个文件夹进行存放我的视图. 所以我通过实现IViewLocationExpander进行扩展添加我自定义视图路径规则即可正如下... »

使用.Net Core编写命令行工具(CLI)的方法

使用.Net Core编写命令行工具(CLI)的方法

命令行工具(CLI)   命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。   通常认为,命令行工具(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行工具的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行工具要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行... »

使用VSCode开发和调试.NET Core程序的方法

使用VSCode开发和调试.NET Core程序的方法

电脑不想装几十个G的 VS2017,那就用 VS Code 吧 目标: 创建一个类库项目 Skany.Core,并用 Nuget 引用第三方组件 Hash 实现加密算法 创建一个单元测试项目 Skany.Tests,引用类库 Skany.Core,并测试其中的方法 创建一个控制台应用程序项目 Skany.Output,引用类库 Skany.Core,并输出方法执行结果 创建一个解决方案 Skany... »

.NET Core中创建和使用NuGet包的示例代码

在.NET Core的项目中,如果我们要在项目中引用其它DLL文件,不建议直接在项目引用中添加DLL文件(虽然在.NET Core项目中也可以这么做),建议是去直接下载DLL文件所属的NuGet包。这样最大的好处是我们可以将要引用DLL文件的所有依赖文件也一起引入到项目中,这样保证了引用文件的完整性,让其可以正确地运行。 下面我们通过一个.NET Core类库项目和一个ASP.NET Core项目... »

把.net Core 项目迁移到VS2019 for MAC的方法步骤

VS2019 for MAC已经发布很长时间了,本以为项目移过去很麻烦,一直没有动作,最近呆家里快发霉了,决定研究研究,没想到一句代码都不需要动,直接完功,这下可以生产了。可是之前的项目是sql server 的。到此这篇关于把.net Core 项目迁移到VS2019 for MAC的方法步骤的文章就介绍到这了,更多相关.net Core迁移到VS2019内容请搜索软件开发网以前的文章或继续浏览... »

ASP.NET Core MVC获取请求的参数方法示例

ASP.NET Core MVC获取请求的参数方法示例

前言 一次HTTP请求,就是一次标准IO操作。请求是I,是输入;响应式O,是输出。任何web开发框架,其实都是在干这两件事: 接受请求并进行解析获取参数 根据参数进行渲染并输出响应内容 所以我们学习一个框架,我认为最首要的是知道如何从请求中获取参数。http请求携带参数的地方主要有下面几个地方: URL Header Body 下面看看ASP.NET Core是如何从这几个位置获取参数的。 通过U... »

从ASP.NET Core3.1迁移到5.0的方法

从ASP.NET Core3.1迁移到5.0的方法

3月中旬,微软官方已经发布了dotnet 5的第一个预览版:5.0.0-preview.1。 dotnet core经过前几个版本的发展和沉淀,到3.1已经基本趋于稳定。 所以从.net core 3.1升级到.net 5将非常简单,下面咱们就开始吧: (注:需要 Visual Studio 2019 16.6 或更高版本) 第一步:在 global.json 中更新 .NET Core SDK ... »

ASP.NET Core中的Http缓存使用

Http响应缓存可减少客户端或代理对web服务器发出的请求数。响应缓存还减少了web服务器生成响应所需的工作量。响应缓存由Http请求中的header控制。 而ASP.NET Core对其都有相应的实现,并不需要了解里面的工作细节,即可对其进行良好的控制。 了解Http缓存 Http协议中定义了许多缓存,但总体可以分为强缓存和协商缓存两类。 强缓存 强缓存是指缓存命中时,客户端不会向服务器发请求,... »

Page 1 of 209123»