在Asp.net Core之前所有的Action返回值都是ActionResult,Json(),File()等方法返回的都是ActionResult的子类。...基本沿用了之前Asp.net MVC的那套东西,使用它大部分情况都没问题。比如用它来返回视图,返回json,返回文件等等。如果是异步则使用Task。...POCO类 Asp.net Core的Controller的Action可以把POCO类型(其实不一定是POCO类,可以是任意类型,但是使用的时候一般都返回viwemodel等POCO类)当做返回值,不一定非要是...做为restful api,204的语义在这里会有问题,这里比较适合的status code是404 NOT FOUND 。...总结 大部分时候Action的返回值可以使用ActionResult/IActionResult 设计restful api的时候可以直接使用POCO类作为返回值 如果要设计既支持POCO类返回值或者ActionResult
2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://docs.microsoft.com...view=aspnetcore-5.0 20.jpg MVVM ASP.NET Core 中的 Razor Pages 介绍:https://docs.microsoft.com/zh-cn/aspnet...返回数据类型 格式化响应数据 返回数据类型 ASP.NET Core Web API 中控制器操作的返回类型:https://docs.microsoft.com/zh-cn/aspnet/core/...web-api/action-return-types?...Core Web API 中响应数据的格式:https://docs.microsoft.com/zh-cn/aspnet/core/web-api/advanced/formatting?
---- Nginx多Server优先级 在开始处理一个http请求时,nginx会取出header头中的Host变量,与nginx.conf中的每个server_name进行匹配,以此决定到底由哪一个...root的处理结果是:root路径+location路径alias的处理结果是:使用alias定义的路径 使用root时,用户访问http://image.com/picture/1.jpg时,实际上Nginx...picture/1.jpg时,实际上Nginx会到/code/目录下找1.jpg文件 [root@lb01 conf.d]# cat image.conf server { listen 80.../images/image1.gif,Nginx 会首先通过用于这个 location,在本地目录中查找这个文件。...测试访问 [root@lb01 code]# curl http://try.drz.com/index.html i am tomcat Nginx调整上传文件大小 在nginx使用上传文件的过程中,
当然也可以单独使用kestrel作为web 服务器, 但是使用iis作为reverse proxy还是由很多有点的: 例如,IIS可以过滤请求, 管理证书, 程序崩溃时自动重启等....用来创建 Web Api的middleware: 原来的.net使用asp.net web api 和 asp.net mvc 分别来创建 web api和mvc项目....后边调用app.UseMvc(), 所以处理异常的middleware可以在把request交给mvc之间就处理异常, 更总要的是它还可以捕获并处理返回MVC相关代码执行中的异常....其中convention-based (基于约定的) 主要用于MVC (返回View或者Razor Page那种的). Web api 推荐使用attribute-based....application/xml等等 如果设定的格式在web api里面没有, 那么web api就会使用默认的格式. asp.net core 默认提供的是json格式, 也可以配置xml等格式.
虽然ASP.NET Core是一款“动态”的Web服务端框架,但是由它接收并处理的大部分是针对静态文件的请求,最常见的是开发Web站点使用的3种静态文件(JavaScript脚本、CSS样式和图片)。...通过HTTP请求获取的Web资源大部分来源于存储在服务器磁盘上的静态文件。对于ASP.NET Core应用来说,如果将静态文件存储到约定的目录下,绝大部分文件类型都是可以通过Web的形式对外发布的。...基于静态文件的请求由3个中间件负责处理,它们均定义在NuGet包“Microsoft.AspNetCore.StaticFiles”中,利用这3个中间件完全可以搭建一个基于Web的文件服务器,下面做相关的实例演示...如果利用浏览器请求这个地址时,PDF文件的内容就会按照下图所示的形式显示在浏览器上。 ?...如果希望浏览器呈现出目标目录的结构,就可以注册另一个名为DirectoryBrowserMiddleware的中间件。这个中间件会返回一个HTML页面,请求目录下的结构会以表格的形式显示在这个页面中。
属性,在本示例中没有使用。)...ASP.NET 5.0 可以部署到不同的服务器中,在本节中,我们将使用可运行在IIS外的WebListener。 注意:将应用部署在IIS中仍有诸多的优势,例如安全性、进度管理等。...ComponentOne Studio for ASP.NET 是ASP.NET平台上的一整套完备的开发工具包,用于在各种浏览器中创建和设计具有现代风格的Web应用程序。...5系列教程 (四):向视图中添加服务和发布应用到公有云 ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序 ASP.NET 5系列教程...(六): 在 MVC6 中创建 Web API ASP.NET 5系列教程(七)完结篇-解读代码
这种异常会返回你在异常构造器中指定的任何HTTP状态码。例如,在以下方法中,如果这个id参数无效,那么会返回“404——未找到”。...ASP.NET Web API中的异常过滤器与Asp.Net MVC中的是极为类似的。然后,他们被声明在不同的命名空间中,且功能也是独立的。...特别强调一下,Asp.Net MVC中使用的HandleErrorAttribute类不会处理Web API控制器中抛出的异常。...这个集合中的异常过滤器会运用于任何Web API控制器动作。...“ASP.NET MVC 4 Web应用程序”项目模板创建的项目,要把你的Web API配置代码被放在WebApiConfig类中,它位于App_Start文件夹: public static class
WCF Web API支持多个宿主环境:自宿主(windows服务或者控制台)和IIS宿主(asp.net webform/mvc)。...这个入门文章主要演示在ASP.NET MVC3网站宿主,主要演示如何在一个Web API上允许更新: 如何检索一个特定项的资源 如何在API上启用HTTP POST, PUT和DELETE方法 如何通过...另一个通常的场景是通过一个URI返回一个单一的资源,如果找不到相关的资源应该返回一个404状态码。...4、以Json格式发送数据 Web Api允许以多个格式发送内容,下面是使用fiddler发送json的POST 运行项目 启动Fiddler并切换到“Request Builder” 选择“POST...GET,然后执行,返回状态码为404 HTTP/1.1 404 Not Found Server: ASP.NET Development Server/10.0.0.0 Date: Tue
【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头和索引...Width=50&Height=120&Alt=404}} {{Image::ImageUrl?w=50&h=120&Alt=404}} {{Image::ImageUrl?...如需在Docker中使用,请参阅文档中的《Docker中使用》一节。 相关功能均已编写单元测试,在使用的过程中可以参考单元测试。...命名空间下的部分特性来控制导入导出#63 支持在ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容#64 FAQ 问题列表 https://github.com
例如,在以下方法中,如果这个id参数无效,那么会返回“404---未找到” 1 public Product GetProduct(int id) 2 { 3 var item...注意:ASP.NET Web API中的异常过滤器与ASP.NET MVC中是及其相似的。然后,它们被声明在不用的命名空间下,且功能也是独立的。...特别强调以下,ASP.NET MVC中使用的HandlerErrorFilterAttribute不会处理Web API控制器抛出的异常。 ...这个集合中的所有异常过滤器会应用于任何Web API控制器Action public class WebApiApplication : System.Web.HttpApplication {...以下实例演示了如何用HttpError在响应中返回HTTP状态码“404--未找到”: 1 public HttpResponseMessage GetProduct(int id) 2 { 3
虽然ASP.NET Core是一款“动态”的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件、CSS样式文件和图片文件的请求。...[本文已经同步到《ASP.NET Core框架揭秘》之中] 目录 一、以Web的形式读取文件 二、浏览目录内容 三、显示默认页面 四、映射媒体类型 一、以Web的形式读取文件 我们创建的演示实例是一个简单的...当我们在浏览器上请求这个地址时,该PDF文件的内容将会按照如下图所示的形式显示在浏览器上。 ?...具体来说,这个中间件会返回一个HTML页面,请求目录下的所有文件将以表格的形式包含在这个页面中。...我们的实例演示了针对两种类型文件的请求,一种是JPG文件,另一种是PDF文件,对应的媒体类型分别是“image/jpg”和“application/pdf”,那么StaticFileMiddleware
一、前言 我们在优化Web服务的时候,对于静态的资源文件,通常都是通过客户端缓存、服务器缓存、CDN缓存,这三种方式来缓解客户端对于Web服务器的连接请求压力的。 ...本文指在这三个方面,在ASP.NET Core中静态文件的实现过程和使用方法进行阐述。当然也可以考虑使用反向代理的方式(例如IIS或Nginx),这些不是本文讨论的内容。 ...,包括200和304状态的请求;而且在这个例子里浏览器会自动缓存这些文件24小时,但是在此期间并不会返回404状态。 ...在ASP.NET Core中Tag Hepers为我们提供了这样的API: ...我们在使用CDN时,因为还要进行开发任务,一般我们都要有两套地址,一套是CDN上的文件地址,一套是本地调试开发用的地址。ASP.NET Core中也为我们提供了Tag Helper来解决这样的问题。
创建一个Web API项目 第一步,创建以下项目 ? 当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。...中包含查询字符串,这个Web API试图在控制器方法的参数中来匹配查询字符串。...位置:当服务端创建一个资源时,它应该在响应的Location标头中包含这个资源的URI。 ASP.NET Web API使它容易操作HTTP响应消息。...默认情况下,ASP.NET Web API框架从路由获取简单的参数类型,从请求正文获取复杂的类型。 第五个方法:删除产品,在控制器添加代码如下。...上述测试我们发现我们的路由只是“api/{controler}”就成功返回了GetProducts方法中的数据,这也是ASP.NET Web API与ASP.NET MVC 之间的区别。
html 本文介绍的是使用ASP.NET Core建立Richardson成熟度为2级的伪RESTful web API, 本文介绍的是GET和POST....-1701412182.jpg RESTful API 资源 (Resource) 的命名指导规范 首先, 资源应该使用名词, 它是个东西, 不是动作....,表示请求的资源不存在 405 - Method not allowed,这就是当我们尝试发送请求给某个资源时,使用的HTTP方法却是不允许的,例如使用POST api/countries, 而该资源只实现了...处理异常 当Action发生异常的时候,默认情况下ASP.NET Core会返回500: ? ? 但还是自己处理一下比较好,可以在Action里面使用try catch: ?...的情况下,就该返回一个默认的格式,在ASP.NET Core 2.0里面就是application/json。
开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?...每一个HTTP请求都会经历三个步凑:请求-处理-响应:每当我们在浏览器中输入一个URL时都会被封装为一个HTTP请求报文发送到Web服务器,而Web服务器则接收并解析HTTP请求报文,然后针对请求进行处理...最后将要返回的内容转为输出流并封装为HTTP响应报文发送回浏览器。 当然,浏览器接收到响应报文后会加载HTML、CSS与JS并显示在页面中,最后成为我们看到的最终效果。...而HTTP协议是Web应用所使用的主要协议。 HTTP协议是基于请求响应模式的。...image.png TIP:有关ASP.NET请求处理机制的分析,可以浏览我的另外一篇文章:ASP.NET请求处理机制探索之二-核心 (2)IHttpHandler接口与实现IHttpHandler
例如告诉搜素引擎,某个页面的网址已经永久的改变了。绝大多数的Web API都不需要使用这类状态码。...not allowed,当尝试发送请求到资源的时候,使用了不被支持的HTTP方法时,就会返回405状态码; 406 - Not acceptable,这表示API消费者请求的表述格式并不被Web...通常指更新资源时发生的冲突,例如,当你编辑某个资源的时候,该资源在服务器上又进行了更新,所以你编辑的资源版本和服务器的不一致。当然有时候也用来表示你想要创建的资源在服务器上已经存在了。...在 ASP.NET Core 2.2的时候,如果Controller使用了 [ApiController] 这个属性,那么 ProblemDetails 就是客户端错误码的标准响应。...在ASP.NET Core 3.x里面,同样也使用了 ProblemDetails。 看一个返回404的例子: ?
用Asp.Net开发Web应用时,为了减少请求次数和流量,可以在IIS里配置gzip压缩以及开启客户端缓存。...下面我们创建一个小小的Asp.net Mvc2 App,然后逐步为它加入压缩和缓存。 首先新建一个Asp.net Mvc2的web application,建好后整个solution如下图: ?...中的If-Modified-Since,然后和资源的最后修改时间做比较,如果资源没被修改,则直接返回304的代码,告知浏览器只需要从缓存里取就行了。...缓存的逻辑到这里就完成大部分了,下面我们为UrlHelper加两个扩展方法,方便我们在View中使用。...假设在site.css中有下面一段css: body { background-image:url(images/bg.jpg); } 然后再访问~/Home/Index时就会有一个404的错误
通过HTTP请求获取的Web资源很多都来源于存储在服务器磁盘上的静态文件。对于ASP.NET应用来说,如果将静态文件存储到约定的目录下,绝大部分文件类型都是可以通过Web的形式对外发布的。...源代码) [1901]以Web形式发布文件(图片) 作为演示实例是ASP.NET应用具有如图1所示的项目结构。...如果利用浏览器请求这个地址时,PDF文件的内容就会按照图4所示的形式显示在浏览器上。...如果希望浏览器呈现出目标目录的结构,就可以注册DirectoryBrowserMiddleware中间件。这个中间件会返回一个HTML页面,请求目录下的结构会以表格的形式显示在这个页面中。...我们的实例演示了针对两种文件类型的请求,一种是JPG文件,另一种是PDF文件,对应的媒体类型分别是“image/jpg”和“application/pdf”,那么用来处理静态文件请求的StaticFileMiddleware
HttpApplication HttpApplication是整个ASP.NET基础架构的核心,它负责处理分发给它的HTTP请求。...每个Web应用程序都会有一个Global实例,作为应用程序的唯一入口。我们知道ASP.NET应用程序启动时,ASP.NET运行时只调用一次Application_Start。...这自然而然地让我们在使用强大的HttpModule时要十分注意性能问题,需要触发哪些事件处理,不需要触发哪些事件处理,要有严格的控制。要不会让程序负重,得不偿失。...前面我们提到过,Modules集合(前面提到过,存在于HttpApplication)中的HttpModule在执行到相应的管道事件时都会触发自己的注册事件。我们来试一下。.../jpg"; // 如果UrlReferrer为空,则显示一张默认的404图片 if (context.Request.UrlReferrer ==
Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一) 图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图。...今天我就使用MongoDB作为图片存储,然后使用SixLabors作为图片处理,通过一个Asp.Net Core Web Api实例来给大家讲解下!本文有点长,可以先收藏推荐然后再看!...Asp.Net Core Web Api图片上传的代码实现 新建Asp.Net Core Web Api项目 这里我不会教你怎么创建一个Asp.Net Core Web Api项目了。...本篇文章首先介绍了MongoDB的安装,然后创建了一个新的Asp.Net Core Web Api项目,然后通过一个图片上传的实例来讲述了Asp.Net Core中图片上传的操作,以及MongoDB作为图片存储的实现...希望本篇关于Asp.Net Core Web Api图片上传及MongoDB存储的实例教程能对大家使用Asp.Net Core Web Api进行图片上传以及MongoDB的使用有多帮助!