首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net Web API 2第八课——Web API 2中属性路由

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html   路由就是Web API如何把...Web API支持一种新路由类型,被叫做属性路由。顾名思义,属性路由是用属性来创建路由。在你Web API属性路由可以让你更好控制URI。你能容易创建描述资源阶层URIs。   ...2、启用属性路由   3、添加路由属性   4、路由前缀   5、路由约束   6、可选URI参数和默认值   7、路由名称   8、路由顺序 1、为什么使用属性路由   第一个Web API版本使用是基于公约路由...7、路由名称  在Web API中,每个路由都有一个名称。路由名称被用于生成链接,你能在HTTP响应中包含一个链接。 指定这个路由名称,在这个属性上设置RouteName属性。...本文参考链接http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

84940

ASP.NET Web API路由系统:路由系统几个核心类型

虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道核心部分(定义在程序集System.Web.Http.dll中)已经移除了对...也就是说,ASP.NET Web API核心框架URL路由系统与ASP.NET本身路由系统是相对独立。...另一个同样通过字典类型表示只读属性DataTokens,我们应该不会感到陌生,至于通过制度属性Handler返回HttpMessageHandler对象是组成ASP.NET Web API消息处理管道核心...ASP.NET Web API路由系统中直接实现了接口IHttpRoute唯一类型是具有如下定义HttpRoute。...Web API管道HttpConfiguration对象,这依赖于我们对Web API寄宿方式,这并没有定义在ASP.NET Web API核心框架之中。

9.5K110
您找到你想要的搜索结果了吗?
是的
没有找到

Net Core集成Exceptionless分布式日志功能以及全局异常过滤

Net Core集成Exceptionless分布式日志功能以及全局异常过滤 相信很多朋友都看过我上篇关于Exceptionless简单入门教程[asp.Net Core免费开源分布式异常日志收集框架...以及怎么进行本地部署和异常提交简单用法,而这篇文章将带你探讨一下Exceptionless异常收集高级用法以及你熟悉类似NLog日志用法。...这个时候可以配合 log4net 或者 nlog 来联合使用 exceptionless,详细可以查看这个官方 [示例][https://github.com/exceptionless/Exceptionless.Net...这样就可以使用Log4net 或者 Nlog来将一些事件存储到磁盘,另外 Exceptionless 事件存储到内存当中。...最后通过一个asp.net core web api项目进行了演示,在全局过滤器中利用封装Log方法进行全局异常捕获。希望对大家使用Exceptionless有所帮助。

76520

【ASP.NET Core 基础知识】--部署和维护--日志记录和错误处理

在ASP.NET Core等现代Web开发框架中,日志记录是构建可靠、高性能应用程序基础之一。 日志记录不仅仅是简单地将一些文本写入文件。...常见内置提供程序包括控制台、文件、事件源等,而第三方提供程序则可以是Serilog、NLog等。...1.2 ASP.NET Core中日志记录机制 内置日志记录提供程序 ASP.NET Core 提供了一组内置日志记录提供程序,用于记录应用程序运行状态和事件。...在ASP.NET Core中,实现全局异常处理通常涉及以下几个步骤: 创建异常处理中间件:首先,你需要创建一个中间件来捕获应用程序中未处理异常。...,并在其中捕获和处理应用程序中未处理异常

4500

Net Core平台灵活简单日志记录框架NLog+Mysql组合初体验

Net Core平台灵活简单日志记录框架NLog初体验 前几天分享"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblogs.com...因为NLog具有高性能,易于使用,易于扩展和灵活配置特点能够让你快速集成日志记录功能。...NLogNet Core中怎么用啊? 用之前你得新建一个asp.net core项目吧。这里以net core api为例吧。如下图所示是博主刚刚创建net core api项目。 ?...这里需要注意,右键设置一下这个NLog.config属性为“始终复制” ? 3.打开Nlog.config文件,看看里面的结构,发现有两个重要节点,一个是声明目标 一个是声明规则。...总结 本文开头讲述了分布式日志记录框架Exceptionless部署困难说起,然后引出轻量级简单易用NLog日志框架,并通过一个简单地api项目讲述了NLog如何在Net Core中使用。

73320

使用Seq搭建免费日志服务

Seq是老外开发一个针对.NET平台非常友好日志服务。支持容器部署,提供一个单用户免费开发版本。...官网:https://datalust.co/seq 使用文档:https://docs.datalust.co/docs Seq主体功能如下所示: 支持主流编程语言,尤其对.NET非常友好 丰富事件格式...下图中所有属性都是由使用者自定义。 ? 支持筛选语法和SQL查询,非常简单和灵活 多种查询方式 -支持以SQL表达式查询,以及C#中,==,!...Api)、31181(对应5341,用于公开Seq接收终结点端口)。...Seq对.NET Core支持非常友好,支持: ASP.NET Core Serilog 使用NLog 使用log4net 当然还支持其他语言以及其他一些方式,比如RabbitMQ、GELF、Windows

79720

如何利用NLog输出结构化日志,并在Kibana优雅分析日志?

在实践中我们开发了各种规避、诊断应用程序错误行为利器:静态类型检查,自动化测试,事件探查器,崩溃转储和监视系统。但是记录程序执行步骤日志仍然是事后诊断最丰富数据源。...---- 下面来完整输出、分析提交订单请求日志: 利用NLog向ES输出结构化日志 NLog4.5引入结构化日志,支持Message Template, 在ASP.NET Core脚手架Startup...Task.CompletedTask; })); 这里我们关注如何向ElasticSearch输出结构化日志,请务必将includeAllProperties="true",这样输出到ES才会包含所有事件属性...总结 本文肝时较长(elasped>=10天) 从常规诊断日志谈到[对机器友好,适用于分析结构化日志],其中核心是消息模板。...[被忽略TraceId,可以用起来了] Logging with ElasticSearch, Kibana, ASP.NET Core and Docker

1.1K30

Contact Manager Web API 示例 异常处理(Exception Handling)

联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com...本文主要介绍WebAPI异常处理HttpResponseMessage。 如果 Web API controller 掷出一个异常(exception),会发生什么事?...当一个 controller 方法抛出任何未处理例外,它并不是 HttpResponseException 异常异常过滤被会执行。...当发生未处理异常异常过滤集合中会作用在所有 Web API controller action。(异常类型 HttpResponseException 也会被执行)。...特别说明,HandleErrorAttribute 类 使用在  ASP.NET MVC,无法拿来处理 Web API controller 异常

78570

.NET Core.NET5.NET6 开源项目汇总1:常用必备组件

- 基础核心包,包含了基础模型定义和默认设置,而且以下引用包都包含了这个核心包。...Dapper是一个简单.NET对象映射器,在速度方面具有"King of Micro ORM"头衔,几乎与使用原始ADO.NET数据读取器一样快。...NLog是一个灵活和免费日志平台,适用于各种.NET平台,包括.NET Standard。NLog使写入多个目标变得容易(数据库、文件、控制台)并动态更改日志记录配置。...Serilog是.NET应用程序诊断日志库。它易于设置,具有整洁API,并在所有最近.NET平台上运行。...Exceptionless为您JavaScript、Node、.NET Core、ASP.NETWeb API、WebForms、WPF、控制台和MVC应用程序提供实时错误报告。

4K10

.Net Core with 微服务 - Seq 日志聚合

Seq Seq 是一款使用现代化技术构建结构化日志存储,查询,分析工具。比起 ELK 这种组合要轻量级许多。只需要一个安装包就具有数据存储,查询,图表分析功能。...8900 绑定容器 80 端口,该端口是 web 管理界面的入口。5341 绑定容器 5341 端口,该端口是日志写入时候真正端口。...NLog 集成 Seq seq 安装成功之后,我们可以开始跟 asp.net core 项目进行集成了。这里采用 Nlog 日志组件进行演示,如何跟 seq 集成。 ?...点击 “API KEYS” 、“ADD API KEY” 弹出新增 API KEY 界面。 ? 我们可以在这个界面为每个服务指定一个 APIKEY 当写入 Seq 是用来区分服务。...填写 title 信息,选择具有的权限,还可以自定义一些属性,这些属性会附加到每个日志记录上。

75510

在asp.net web api 2 (ioc autofac) 使用 Serilog 记录日志

Serilog是.net里面非常不错记录日志库,另外一个我认为比较好Log库是NLog。...在我个人asp.net web api 2 基础框架(Github地址)里,我原来使用NLog,但是由于好奇心,我决定使用Serilog代替Nlog。...这里有一个列表,列出了所有的Sink:https://github.com/serilog/serilog/wiki/Provided-Sinks 由于我使用是asp.net web api 2.2...全局异常记录 针对asp.net web api 2,我使用了自定义全局异常记录类:MyExceptionLogger.cs GlobalConfiguration.Configuration.Services.Add...问题 经使用测试,输出到Debug窗口和Sql Server数据库是没有问题,但是在asp.net web api 2项目的开发环境里一直无法输出到文件,我新建立了一个web api项目也是如此,但是在控制台应用却没有问题

2.1K80

.NET Core 日志记录程序和常用日志记录框架

本文主要内容为.NET Core日志记录程序和常使用日志记录框架简单使用 首先,打开VS2019新建一个ASP.NET Core Web Api项目,项目创建好后会有一个集成好天气预报类和控制器...1)使用NuGet安装log4net包 2)新建log4net.config配置文件,配置日志输出格式 3)右键新添加log4net.config配置文件,更改文件属性->复制到输出目录选项:始终复制..."); log.Error("error"); log.Info("linezero"); } 5.2 运行结果 4、 NLog 1)使用NuGet安装NLogNLog.Web.AspNetCore...包 2)新建nlog.config配置文件,配置日志输出格式 3)右键新添加log4net.config配置文件,更改文件属性->复制到输出目录选项:始终复制 或者在项目的.csproj文件添加如下代码...-- enable asp.net core layout renderers --> <add assembly="<em>NLog</em>.<em>Web</em>.AspNetCore

16610

《CLR via C#》笔记:第5部分 线程处理(2)

另外,构造器、属性访问器方法和事件访问器方法不能转变成异步函数。 2、异步函数不能使用任何out或ref参数。 3、不能在 catch,finally 或unsafe块中使用await操作符。...生成Web服务代理类型工具(比如SvcUtil.exe)也生成XxxAsync方法。 异步函数和异常处理 如果状态机出现未处理异常,那么代表异步函数Task对象会因为未处理异常而完成。...然后,正在等待该Task 代码会看到异常。但异步函数也可能使用了void返回类型,这时调用者就没有办法发现未处理异常。...所以,当返回void 异步函数抛出未处理异常时,编译器生成代码将捕捉它,并使用调用者同步上下文(稍后讨论)重新抛出它。如果调用者通过GUI线程执行,GUI线程最终将重新抛出异常。...(P661 2) 以异步方式实现服务器 MSDN文档部分举例: 1、要构建异步ASP.NET Web窗体,在.aspx文件中添加Async=”true”网页指令,并参考System.Web.UI.Page

1.1K40

从头编写 asp.net core 2.0 web api 基础框架 (3)

Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...之前我介绍完了asp.net core 2.0 web api最基本CRUD操作,接下来继续研究: IoC和Dependency Injection (控制反转和依赖注入) 先举个例子说明一下: ?...在asp.net core里面呢,Ioc和依赖注入是框架内置,这点和老版本asp.net web api 2.2不一样,那时候我们得使用像autofac这样第三方库来实现Ioc和依赖注入。...> 然后设置该文件属性如下: ?...对于Nlog配置就不进行深入介绍了。具体请看官方文档.net core那部分。 然后需要把Nlog集成到asp.net core,也就是把Nlog注册到ILoggerFactory里面。

1.5K70

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

第 6 章 高级查询和日志 6.3 排序 RESTful API 在实现排序时应支持对集合资源一个或多个属性进行排序 示例对 authors 资源按照其属性 Age 升序排序,再按 BirthPlace...属性降序排序:https://localhost:5000/api/authors?...,可以在程序中添加一个字典,来存储需要进行映射属性及其对应属性名 然而对于 AuthorDto 中 Age 属性和 Author 中 BirthDate 属性,其排序规则正好相反,即年龄越小,出生日期越靠后...pageSize=3&sortby=birthplace,age 6.4 日志与异常 ASP.NET Core 内部集成了日志功能,但是并不支持向文件输出日志,因此我们通过 NLog 实现 安装nuget...Install-Package NLog.Extensions.Logging NLog 通过 XML 形式文件来配置它使用方式,添加一个 nlog.config <?

59210

ASP.NET Core管道详解: Pipeline = IServer + IHttpApplication

由于服务器是通过IServer接口表示,所以可以将ASP.NET Core框架核心视为由IServer和IHttpApplication对象组成管道。...ASP.NET Core框架中服务器通过IServer接口来表示,该接口具有如下所示3个成员,其中由服务器提供特性就保存在其Features属性表示IFeatureCollection集合中。...通过查看HostingApplication类型源代码,我们会发现它针对“开始请求”、“结束请求”和“未处理异常”这3类诊断日志事件对应名称,具体如下。...对于未处理异常诊断事件,它承载内容荷载还包括一个额外成员,那就是表示抛出异常Exception对象,对应成员名称为exception。...针对“未处理异常”诊断事件OnException方法则在调用OnRequestEnd方法之后将异常消息、类型和跟踪堆栈输出到控制台上。

68820

ASP.NET 2.0 中 Web 事件

举例来说,您可以配置您 ASP.NET 应用程序来每天发送电子邮件,表明服务器正在运行并且包括可用内存数量。同样,您可以创建一个链接到未处理异常健康事件。...异常内容、请求标题以及时间和日期都可以被发送到一个错误日志记录数据库。 ASP.NET 2.0 包含了内置事件,包括心跳、应用程序生存期事件(启动/停止/编译)和错误陷阱事件未处理异常)。...ASP.NET 2.0 健康监视系统真正强大功能是,通过 web.config 和 machine.config 文件它是完全可配置。...在健康监视方面,所有事件都从 Sytstem.Web.Management.WebBaseEvent 继承。不过,您也可以从用于专用目的(如收集 HTTP 请求数据或处理异常高级基类派生。...不同提供程序将配置文件属性作为显示事件过滤器来使用。

2.2K70
领券