首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ASP.NET Core中的Action的返回值类型

在Asp.net Core之前所有的Action返回值都是ActionResult,Json(),File()等方法返回的都是ActionResult的子类。...ActionResultActionResult类是最常用的返回值类型。基本沿用了之前Asp.net MVC的那套东西,使用它大部分情况都没问题。比如用它来返回视图,返回json,返回文件等等。...比如我们设计一个获取Person的api。通过 /person/001 url获取001号person。...如果null做为Action的返回值,最后框架会转换为204的http status code。 ? 204表示No Content 。...总结 大部分时候Action的返回值可以使用ActionResult/IActionResult 设计restful api的时候可以直接使用POCO类作为返回值 如果要设计既支持POCO类返回值或者ActionResult

2.7K10

ASP.NET Core 2.2 : 二十. Action的多种数据返回格式处理机制

上一章讲了系统如何客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何请求结果按照客户端想要的格式返回去。...这个阶段和Action Filters的逻辑相似,只不过前者的核心是Action的执行,后者的核心是Action的执行结果的执行。...第三行的ActionResult 类型是在ASP.NET Core 2.1 引入的,它支持IActionResult的子类也支持类似string和Book这样的特定类型。...但却正确的结果返回给了客户端。 Result Filter介绍完了,看一下核心的IActionResult的执行。 4....= null) { response.StatusCode = result.StatusCode.Value; } var serializerSettings

1.5K30

《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(上)

ASP.NET Core 支持多种形式的缓存,既支持基于 HTTP 的缓存,也支持内存缓存和分布式缓存,还提供响应缓存中间件 HTTP 缓存,服务端返回资源时,能够在响应消息中包含 HTTP 缓存消息头...验证缓存资源的方式有两种: 通过响应消息头中的 Last-Modified 使用实体标签消息头 ASP.NET Core 提供的 [ResponseCache] 特性能够为资源指定 HTTP 缓存行为...Request.Headers.TryGetValue(HeaderNames.IfNoneMatch, out var requestETag) && entityHash == requestETag) { return StatusCode...ResponseCachingOptions 包含3个属性: SizeLimit:缓存大小 MaximumBodySize:响应正文最大值 UseCaseSensitivePaths:是否区分请求路径大小写 响应缓存中间件同样使用特性设置...由于 Json.NET 在序列化集合对象时会将其作为数组处理,因而会忽略集合对象中的其他属性,为了保留这些属性,需要自定义 JsonConvert 类 namespace Library.API.Helpers

53320

配置元素customErrors

Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了。可惜之前一直未曾了解到MSDN的强大。   ...一、customErrors 元素 属性 说明 defaultRedirect 指定出错时浏览器定向到的默认 URL。如果未指定该属性,则显示一般性错误。 可选的属性。...如果未指定 defaultRedirect,用户看到一般性错误。 Off       指定禁用自定义错误。这允许显示标准的详细错误。...LockItem 获取或设置一个值,该值指示是否已锁定该元素。 (从 ConfigurationElement 继承。) Mode 获取或设置错误显示模式。...下面以程序示例如何在程序中读取和设置配置节: public ActionResult Index() { //<customErrors defaultRedirect

1.3K10

.NET Core微服务之基于Ocelot+IdentityServer实现统一验证与授权

Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、案例结构总览   这里,假设我们有两个客户端(一个Web网站,一个移动App),他们要使用系统,需要通过API网关(这里API网关始终作为客户端的统一入口...上面分别为两个示例API Service增加Authentication的选项,为其设置ProviderKey。下面会对不同的路由规则设置的ProviderKey设置具体的验证方式。...3.1 准备工作   新建一个ASP.NET Core Web API项目,绑定端口5100,NuGet安装IdentityServer4。...msg.IsSuccessStatusCode) { return StatusCode(Convert.ToInt32(msg.StatusCode...API网关) => 401 Unauthorized 六、小结   本篇主要基于前面Ocelot和IdentityServer的文章的基础之上,Ocelot和IdentityServer进行结合,

1.1K40

ASP.NET Core 中的内存管理和垃圾回收 (GC)

设置 GCSettings.LargeObjectHeapCompactionMode 属性以确保 GCLargeObjectHeapCompactionMode.CompactOnce LOH 和...注意:服务器垃圾回收在具有单个核心的计算机上不可用。 有关详细信息,请参阅 IsServerGC。 在典型 Web 服务器环境中,CPU 使用率比内存更重要,因此服务器 GC 更好。...ConcurrentBag _staticStrings = new ConcurrentBag(); [HttpGet("staticstring")] public ActionResult...此方法的不同之处在于,会从 API 返回共用对象。 也就是说: 从方法返回后,对象会立即脱离控制。 无法释放对象。 若要设置对象的释放,请执行以下操作: 共用数组封装在可释放对象中。...RegisterForDispose 负责调用 Dispose 目标对象,以便仅在 HTTP 请求完成时释放它。

22830

ASP.NET Core 中的内存管理和垃圾回收 (GC)

设置 GCSettings.LargeObjectHeapCompactionMode 属性以确保 GCLargeObjectHeapCompactionMode.CompactOnce LOH 和...注意:服务器垃圾回收在具有单个核心的计算机上不可用。 有关详细信息,请参阅 IsServerGC。 在典型 Web 服务器环境中,CPU 使用率比内存更重要,因此服务器 GC 更好。...ConcurrentBag _staticStrings = new ConcurrentBag(); [HttpGet("staticstring")] public ActionResult...此方法的不同之处在于,会从 API 返回共用对象。 也就是说: 从方法返回后,对象会立即脱离控制。 无法释放对象。 若要设置对象的释放,请执行以下操作: 共用数组封装在可释放对象中。...RegisterForDispose 负责调用 Dispose 目标对象,以便仅在 HTTP 请求完成时释放它。

28620
领券