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

.NET核心- ApplicationBuilder映射()路径是否区分大小写

.NET核心中的ApplicationBuilder映射()路径是区分大小写的。

在.NET核心中,ApplicationBuilder是用于配置应用程序的中间件管道的类。它提供了Map()方法,用于将请求路径映射到指定的中间件处理程序。

在路径映射中,区分大小写是默认行为。这意味着如果请求的路径与映射的路径在大小写方面不匹配,将无法正确匹配到相应的中间件处理程序。

例如,如果我们使用以下代码将路径"/api/Example"映射到一个中间件处理程序:

代码语言:txt
复制
app.Map("/api/Example", builder =>
{
    // 中间件处理程序逻辑
});

那么只有当请求的路径为"/api/Example"时,才会触发该中间件处理程序。如果请求的路径为"/api/example"或者"/API/Example",将无法匹配到该中间件处理程序。

这种区分大小写的行为可以确保路径映射的准确性和一致性,同时也符合URL的标准规范。

对于路径映射不区分大小写的需求,可以使用ToLowerInvariant()方法将路径转换为小写,然后再进行映射。例如:

代码语言:txt
复制
app.MapWhen(context => context.Request.Path.ToString().ToLowerInvariant() == "/api/example", builder =>
{
    // 中间件处理程序逻辑
});

这样就可以实现路径映射不区分大小写的效果。

总结起来,.NET核心中的ApplicationBuilder映射()路径是区分大小写的,默认情况下不会进行大小写转换。这种行为可以确保路径映射的准确性和一致性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core路由中间件: 终结点(Endpoint)

到目前为止,ASP.NET Core提供了两种不同的路由解决方案。传统的路由系统以IRouter对象为核心,我们姑且将其称为IRouter路由。...本章介绍的是最早发布于ASP.NET Core 2.2中的新路由系统,由于它采用基于终结点映射的策略,所以我们将其称为终结点路由。终结点路由自然以终结点为核心,所以先介绍终结点在路由系统中的表现形式。...IApplicationBuilder applicationBuilder) { ApplicationBuilder = applicationBuilder;...以IEndpointRouteBuilder、EndpointDataSource和Endpoint为核心的终结点模型体现在下图中。 ?...ASP.NET Core路由中间件[1]: 终结点与URL的映射 ASP.NET Core路由中间件[2]: 路由模式 ASP.NET Core路由中间件[3]: 终结点 ASP.NET Core路由中间件

1.1K10

通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程:管道是如何构建起来的?

如下所示的是经过裁剪后的IApplicationBuilder接口的定义,我们只保留了两个核心的方法,其中Use方法实现了针对中间件的注册,另一个Build方法则将所有注册的中间件转换成一个RequestDelegate...参数代表存放图片的目录,在这个方法中我们创建了一个Func对象,这个委托对象会根据当前请求的URL和PathBase解析出目标图片的真实路径...注册中间件 一个服务器和一组中间件组成了ASP .NET Core的HTTP请求处理管道,中间件的注册通过调用ApplicationBuilder的Use方法来完成。...中间件的注册以及管道的构建是应用启动时所作的一项核心工作,ASP.NET Core为此专门定义了一个IStarup接口来从事启动时的初始化工作,我们将实现这个接口的类型以及对应对象统称为Startup。...IApplicationBuilder app) 11:     { 12:         configure(app); 13:     } 14: } 三、作为宿主的WebHost和它的构建者 ASP.NET

4.2K50

asp.net core合并压缩资源文件引发的学习之旅

参数说明 -outputFileName:要输出的压缩文件的相对路径。 -必填 -inputFiles:要输出的压缩文件的相对路径。 - 可选,为空则输出空文件 - 空值会在空的输出文件。...囧,默认是没有这个参数的 -sourceMaps:生成捆绑的文件的源映射 -默认false 3.根据不同环境使用不同的css/js 使用新增的environment标签去根据不同的环境引入不同的css...文档中有说需要注意的地方 在 Windows 和 macOS 上,指定的环境名称是区分大小写。...是否将变量设置为Development或development或DEVELOPMENT结果将是相同的。但是,Linux 是区分大小写默认情况下的操作系统。环境变量、文件名和设置需要区分大小写。...总结 收获颇多,明确了目标,之前模糊畏难的东西也逐个解决了 .net core 如何合并压缩js .net core 如何在不同的环境使用不同的资源 .net core的环境变量如何配置 参考文档

2.2K20

ASP.NET Core管道详解: 中间件委托链

[本文节选自《ASP.NET Core 3框架揭秘》第13章, 更多关于ASP.NET Core的文章请点这里] ?...IApplicationBuilder是ASP.NET Core框架中的一个核心对象,我们将中间件注册在它上面,并且最终利用它来创建代表中间件委托链的RequestDelegate对象。...New方法直接调用私有构造函数创建一个新的ApplicationBuilder对象,属性字典的所有元素会复制到新创建的ApplicationBuilder对象中。...return lambda.Compile(); } } 由于请求处理的具体实现定义在中间件类型的Invoke方法或者InvokeAsync方法上,所以注册这样一个中间件需要解决两个核心问题...读者可能会有疑问,注册中间件服务时是否可以将生命周期模式设置为Transient?实际上这与Scoped是没有区别的,因为中间件在同一个请求上下文中只会被创建一次。

91920

200行代码,7个对象——让你了解ASP.NET Core框架的本质

这个语句涉及到了ASP.NET Core程序两个核心对象WebHost和WebHostBuilder。...这个由一个服务器和若干中间件构成的管道就是ASP.NET Core框架的核心,我们接下来的核心任务就是让大家搞清楚这个管道是如何被构建起来的,以及该管道采用怎样的请求处理流程。 ?...为此我们将ASP.NET Core最本质、最核心的部分提取出来,重新构建了一个迷你版的ASP.NET Core框架。 ? ASP.NET Core Mini具有如上所示的三大特点。...第三、为了让大家能够在最短的时间内理解ASP.NET Core框架的精髓,ASP.NET Core Mini必需足够简单,所以我们整个实现的核心代码不会超过200行。...7、第四个对象:ApplicationBuilder ApplicationBuilder是我们认识的第四个核心对象。

1K30

200行代码,7个对象—让你了解ASP.NET Core框架的本质

这个语句涉及到了ASP.NET Core程序两个核心对象WebHost和WebHostBuilder。...这个由一个服务器和若干中间件构成的管道就是ASP.NET Core框架的核心,我们接下来的核心任务就是让大家搞清楚这个管道是如何被构建起来的,以及该管道采用怎样的请求处理流程。...为此我们将ASP.NET Core最本质、最核心的部分提取出来,重新构建了一个迷你版的ASP.NET Core框架。 ASP.NET Core Mini具有如上所示的三大特点。...第三、为了让大家能够在最短的时间内理解ASP.NET Core框架的精髓,ASP.NET Core Mini必需足够简单,所以我们整个实现的核心代码不会超过200行。...七、第四个对象:ApplicationBuilder ApplicationBuilder是我们认识的第四个核心对象。

39030

一个Mini的ASP.NET Core框架的实现

,重点讲解了7个核心对象,围绕ASP.NET Core最核心的本质—由服务器和若干中间件构成的管道来介绍。...ASP.NET Core Mini是一个十分值得学习的小项目,它真实模拟了ASP.NET Core的核心,而且又足够简单(不到200行代码),最重要的是它可以执行(我们可以通过Debug的方式一步一步地查看...WebServer了,这里基于HttpListener实现了一个HttpListenerServer如下(HttpListener简化了Http协议的监听,仅需通过字符串的方法提供监听的地址和端口号以及虚拟路径...三、小结   经过蒋金楠老师的讲解以及自己的学习,对这个Mini版的ASP.NET Core框架有了一个初步的理解,正如蒋老师所说,ASP.NET Core的核心就在于由一个服务器和若干中间件构成的管道...,了解了这一点,就对ASP.NET Core的核心本质有了大概印象。

1K20

MyBatis 核心配置文件标签

-- sqlMapConfig.xml是MyBatis框架的核心配置文件,主要用来配置数据源、映射文件、属性等 ?...内置别名 ---- 内置别名可以直接使用,别名不区分大小写 别名 映射类型 _byte byte _long long _short short _int int _integer int _double...-- typeAlias : 1. type:指定实体类全名 2. alias: 指定别名,如果省略这个属性,默认使用类名字做为别名,别名不区分大小写,通常别名使用小写...-- typeAlias : 1. type:指定实体类全名 2. alias: 指定别名,如果省略这个属性,默认使用类名字做为别名,别名不区分大小写,通常别名使用小写...-- typeAlias : 1. type:指定实体类全名 2. alias: 指定别名,如果省略这个属性,默认使用类名字做为别名,别名不区分大小写,通常别名使用小写。

90610

ASP.NET Core应用针对静态文件请求的处理: 以Web的形式发布静态文件

[本文已经同步到《ASP.NET Core框架揭秘》之中] 目录 一、以Web的形式读取文件 二、浏览目录内容 三、显示默认页面 四、映射媒体类型 一、以Web的形式读取文件 我们创建的演示实例是一个简单的...ASP.NET Core控制台应用,它具有如下图所示的项目结构。...整个应用只包含如下所示的这几行代码,StaticFileMiddleware这个中间件的注册是通过调用ApplicationBuilder的扩展方法UseStaticFiles来完成的。...对于我们调用ApplicationBuilder的扩展方法UseStaticFiles方法注册的这个类型为StaticFileMiddleware的中间件,其内部具有一个FileProvider和请求路径映射关系...如果调用UseStaticFiles方法没有指定任何的参数,那么这个映射关系的请求路径就是应用的基地址(PathBase),而FileProvider自然就是指向WebRoot目录的PhysicalFileProvider

1.3K50

ASP.NET Core的路由:注册URL模式与HttpHandler的映射关系

如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间件的意义在于实现请求路径与对应HttpHandler之间的映射关系。...[本文已经同步到《ASP.NET Core框架揭秘》之中] 目录 一、注册请求路径与HttpHandler之间的映射 二、设置内联约束 三、为路由参数设置默认值 四、特殊的路由参数 一、注册请求路径与...HttpHandler之间的映射 ASP.NET Core针对请求的处理总是在一个通过HttpContext对象表示的上下文中进行,所以上面我们所说的HttpHandler从编程的角度来讲体现为一个RequestDelegate...的委托对象,因此所谓的“路由注册”就是注册一组具有相同默认的请求路径与对应RequestDelegate之间的映射关系。...接下来我们就同一个简单的实例来演示这样的映射关系是如何通过注册RouterMiddleware中间件的方式来完成的。 我们演示的这个ASP.NET Core应用是一个简易版的天气预报站点。

1.4K60

Windows 不区分大小写

背景 之前就看过说 Windows 不区分大小写,但平时用得少倒也没什么体验,没想到还真能踩一次坑。 上周有同事找我帮忙看个问题,说是配置修改后不生效。...最终发现是路径下存在名字仅大小写不同的两个文件夹,xxxA 和 xxxa 。xxxA 是他顺手备份时改的,xxxa 才是真正每次编译都会更新的目标文件夹。...这个在 Linux 上没什么问题,但映射到 Windows 上之后就混乱了,明明用烧录工具去选中了 xxxa 下的新文件,但工具真正读取到的却是 xxxA 下的旧文件,自然修改就不能生效了。 ?...其他 据说 Windows 是为了兼容 Dos,才没有区分大小写,后续就一直不区分了。 Linux 则是一直区分大小写的。Mac 则可以在制作分区时选择此分区是否区分大小写。...启用之后,Windows 程序也可以对这个文件夹下的文件区分大小写了。

2.5K10

ASP.NET Core的路由:注册URL模式与HttpHandler的映射关系

ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的。...如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间件的意义在于实现请求路径与对应HttpHandler之间的映射关系。...目录 一、注册请求路径与HttpHandler之间的映射 二、设置内联约束 三、为路由参数设置默认值 四、特殊的路由参数 一、注册请求路径与HttpHandler之间的映射 ASP.NET Core针对请求的处理总是在一个通过...接下来我们就同一个简单的实例来演示这样的映射关系是如何通过注册RouterMiddleware中间件的方式来完成的。 我们演示的这个ASP.NET Core应用是一个简易版的天气预报站点。...我们在程序中会先根据ApplicationBuilder对象创建一个RouteBuilder对象,并利用后者来创建这个Router。

1.3K10

【随手记】Nginx配置详解

X-Real-IP $remote_addr; proxy_set_header Host $proxy_host; proxy_pass http://static_server/images; } 3、不区分大小写...、区分大小写的前缀匹配(~* 优先级高于 ~,但仍会向下搜索) location ~* /upload { // 不区分大小写 } location ~ /Upload { // 区分大小写...proxy_set_header Host test.com; proxy_pass http://dev_ui; } 优先级及匹配字符长度相同的情况下,按location块先后顺序决定优先级 root路径映射...统一查找文件时的根目录,路径映射的规则可以直接参照linux命令行,很简单的。...映射规则:可以相对路径、可以是绝对路径. 位置:可以在http、server、location中定义,可单独使用 作用:定义全局的根目录,可被子模块中的root配置覆盖。

1.2K20

iOS CoreData (一) 增删改查

Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成...NSPersistentContainer是一个容器,封装了应用程序中的CoreData Stack(核心数据栈堆),简化了创建和管理的核心堆栈的数据处理创建NSManagedObjectModel,NSPersistentStoreCoordinator...详情可以看看这篇文章:http://blog.csdn.net/u013263917/article/details/53277708 ?...+e$"; //以A开头,e结尾 @"name MATCHES %@",regex 注:[c]*不区分大小写 , [d]不区分发音符号即没有重音符号, [cd]既不区分大小写...,也不区分发音符号。

1.1K80

Nginx ngx_http_core_module模块详解(三)

6、root 设置web资源的路径映射;用于指明请求的URL所对应的文档的目录路径 可用位置:http, server, location, if in location server...| ~ | ~* | ^~ ] uri{ ... } location @name { ... } 在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射...} http://www.a.com/ 匹配 http://www.a.com/index.html 不匹配 ^~:对URI的最左边部分做匹配检查,不区分字符大小写...~:对URI做正则表达式模式匹配,区分字符大小写 ~*:对URI做正则表达式模式匹配,不区分字符大小写 不带符号:匹配起始于此uri的所有的uri 匹配优先级从高到低:...) 没有找到的或者没有权限访问的文件的相关信息 max=N:可缓存的缓存项上限;达到上限后会使用LRU算法实现管理 LRU算法参考:http://blog.csdn.net

90610
领券