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

如何创建一个自定义的`ErrorHandlerMiddleware`方法

在本文中,我将讲解如何通过自定义ExceptionHandlerMiddleware,以便在中间件管道中发生错误时创建自定义响应,而不是提供一个“重新执行”管道的路径。...如果您正在使用该[ApiController]属性(你可能应该这样使用),并且该错误来自您的Web API控制器,那么ProblemDetails默认情况下会得到一个结果,或者您可以进一步对其进行自定义...对于Web API客户端来说,这实际上还不错。您的API使用者应能够处理错误响应,因此最终用户将不会看到上面的“中断”页面。但是,它通常不是那么简单。...我还要假设我们的API仅支持JSON。这就避免了我们不必担心XML内容协商等问题。在开发环境中,ProblemDetails响应将包含完整的异常堆栈跟踪,而在生产环境中,它将仅显示一般错误消息。...我着重指出了默认Web API模板配置的问题,尤其是在客户端期望有效JSON的情况下,即使出现错误也是如此。

2.2K10

W3C TPAC 大会上的 Service workers 内容总结

好吧,如果 reg1 不控制任何页面,那可能是错误的。是的,这令人困惑。...将状态附加到客户端 当我们讨论页面生命周期的内容时,Facebook 的同事提到了他们如何用 postMessage 向客户询问其状态,例如“用户当前是否在键入消息?”。...相反,我们讨论了允许开发人员将可克隆的数据附加到客户端,这些数据将显示在 service worker 的客户端对象上。...例如你可以在编码或录制的时候上传视频。 HTTP 是双向的。该模型不是先请求后响应——你可以在仍然发送请求正文的同时开始接收响应。...service workers 将在顶层使用 await,因此它将无法被安装,并且将在控制台中出现错误。

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

    Kali Nmap的使用

    Nmap用 该API获得每个连接尝试的状态信息,而不是读取响应的原始报文。 当SYN扫描可用时,它通常是更好的选择。...因为Nmap对高层的 connect()调用比对原始报文控制更少, 所以前者效率较低。 该系统调用完全连接到开放的目标端口而不是像SYN扫描进行 半开放的复位。...这不仅花更长时间,需要更多报文得到同样信息,目标机也更可能 记录下连接。IDS(入侵检测系统)可以捕获两者,但大部分机器没有这样的警报系统。...当Nmap连接,然后不发送数据又关闭连接, 许多普通UNIX系统上的服务会在syslog留下记录,有时候是一条加密的错误消息。 此时,有些真正可怜的服务会崩溃,虽然这不常发生。...其它ICMP不可到达错误(类型3, 代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。 偶尔地,某服务会响应一个UDP报文,证明该端口是open(开放的)。

    76920

    我如何用一行Css代码使谷歌浏览器的数据网格滚动快10倍

    我的公司, 我们使用 谷歌搜索控制台 来检查索引状态和优化我们的网站的可见性。...您还可以检查哪些外部网站链接到您的页面,当我浏览"顶部链接网站"页面时,我注意到了 主要 的滚动滞后。当选择显示较大的数据集(500 行)而不是默认的 10 个结果时,就会发生这种情况。...这里是所有紫色的, 表明这不是一个 Javascript 问题, 而是一个 Dom / 造型问题: 图表显示 CPU 忙于处理布局 这在 CPU 图表下方的瀑布图中得到确认。...第 4 步 - 检查 DOM 不幸的是,DOM 在包含许多元素时不是很出色。如果是这样,则不需要在网络上各种流行的 JS 数据网格中实现虚拟化技术。在这一点上,一个有根据的猜测是,表呈现了很多元素。...好消息 - 我试着应用一些秘密酱汁, 再次滚动, 现在感觉好多了。这也清楚地显示在它的性能配置文件: 滚动改进了很多!

    2.2K10

    HTTP状态码列表

    例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存) 400499:客户端的请求有错误,常用404(意味着你请求的资源在web...除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。...[30] 如果错误发生时客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。...当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。 404 Not Found 请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。...重定向URI“黑洞”,例如每次重定向把旧的URI作为新的URI的一部分,导致在若干次重定向后URI超长。 客户端正在尝试利用某些服务器中存在的安全漏洞攻击服务器。

    80130

    剖析Web技术栈(一)

    由于本文的重点是全局架构和选用特定组件的理由,因此,在Web开发的示例中,我将用HTML的网页,以Python语言为后端语言,并讨论所选用的对应框架。但,本文内容其实适用于任何编程语言或开发框架。...在撰写本文时,HTTP/2的采用率约为全球网站的45%,而HTTP/3仍然是一个草案。 作为开发人员,我们需要记住:HTTP最重要的特点:它是一个无状态协议。...我们在互联网上交流或存储在数字设备上的敏感数据量正呈指数级增长,但不幸的是,恶意攻击者的数量以及他们的行为可能造成的损害程度也呈指数级增长。 HTTP本质上是不安全的。...虽然在最初构想该协议时,安全并不是一个问题,但现在是一个极其重要的问题了,因为我们交换的私人信息通常对人们的安全或企业至关重要,需要确保我们正在向正确的服务器发送信息,并且发送的数据不能被拦截。...第一行是协议和响应请求的状态(在本例中是200,这意味着成功),而下面几行,都是headers中的信息,最后,在空行之后,是客户端请求的资源,在本例中是对应于URL的网页源代码,由于此HTML页面可能包含对其他资源

    87240

    【翻译】WCF4.5:更少的配置和ASP.NET更好的支持

    谁都知道删除这些多余的设置比较好,但不幸的是,谁都没有学会这一招!在WCF 4.5中配置文件只需要设置绑定的类型和名称即可! 当然这导致了另一个问题:“我怎么知道这些设置是什么呢?”...为了回答这个问题,我们必须知道配置文件后端的代码(与配置信息相关的代码),并且配置文件的提示并不在是基于schema的智能提示。...在编译时一些配置文件的错误,如契约类型(contract type)行为名称(behavior name)的错误都会被提示出来。 对于那些直接使用WSDL的开发人员来说,也有好消息。...在为基于HTTPS的服务构造URIs对象时,在WSDL信息中显示了一个BUG,在.net 4中WCF有自动选择端口的特性(针对各种类型的绑定,TCP,HTTP等)不幸的是,HTTPS在那是还没有被包括进来...另一个bug是关于WCF传输流数据的,Ido Flatow: 当你把WCF服务寄宿在IIS上时,即使你没有使用asp.net兼容模式,你也一样会得到asp.net处理管线的一部分。

    57620

    TCP协议详解

    TCP的三次握手 首先要先建立一个连接,TCP的连接建立,常称为三次握手。 A:您好,我是A B:您好A,我是B A:您好B 也常称为“请求->应答->应答之应答”的三个回合。...A会给B发送应答之应答,而B也在等这个消息,才能确认连接的建立,只有等到了这个消息,对于B来讲,才算它的消息有去有回。...所以只要保证:双方的消息都有去有回即可。 实际上大部分情况下,A和B建立连接后,A会马上发送数据,一旦A发送数据,则很多问题都得到解决。...因为TCP报文基于是IP协议的,而IP头中有一个TTL域,是IP数据报可以经过的最大路由数,每经过一个处理他的路由器此值就减1,当此值为0则数据报将被丢弃,同时发送ICMP报文通知源主机。...阿拉伯数字序号,是连接过程中的顺序,而大写中文数字的序号,是连接断开过程中的顺序。 加粗的实线是客户端A的状态变迁 加粗的虚线是服务端B的状态变迁

    36810

    放大零点击漏洞

    我花了一些时间查看客户端二进制文件,试图确定客户端如何处理 XMPP,例如,如果一个节包含文本消息,那么该消息是如何提取并显示在客户端中的。...我尝试修改客户端发送的 RTP 以重现这些错误,但另一端的设备没有收到它,我怀疑服务器正在过滤它。...如果值被返回给攻击者,这可能允许攻击者确定他们控制的缓冲区的地址。我在 MMR 代码中发现了一些位置,其中指针以这种方式转换为数值并被记录,但攻击者无法在任何地方获得错误的转换值。...不幸的是,堆验证非常健壮,因此在大多数情况下,在对损坏的对象进行虚拟调用之前,MMR 进程会由于堆验证错误而崩溃。...总体而言,虽然本研究期间发现的客户端错误与零项目在其他视频会议平台中发现的错误相当,但服务器错误令人惊讶,尤其是当服务器缺少 ASLR 并且支持非端到端的操作模式时加密。

    1.2K10

    【微服务架构】微服务不是魔术:处理超时

    在背景方面,我将假设您了解如何使用您选择的语言进行 API 调用并处理它们的成功和失败,但这些 API 调用是同步还是异步、HTTP 或不是。如果您遇到不熟悉的术语或想法,请不要担心!...我很高兴在 Twitter 或其他地方进行更多讨论,并且我还尝试在适当的地方添加链接。...好的,现在这里到底发生了什么?我们希望看到这种请求-响应行为: 但是出了点问题。有几种可能性: 他们从来没有得到消息。...不幸的是,这可能很难!消息代理也有权衡。您的用户对于何时需要重试会有自己的想法。例如,如果消息处理延迟,他们可能会决定重新提交,因为他们的订单尚未显示在订单历史记录中。...如果您正在考虑消息传递路线(实际上,即使没有!),请仔细查看 Enterprise Integration Patterns — 尽管它年代久远,但其中的模式与当今的架构极为相关。

    63910

    http状态码一览表

    但是,你应当注意到服务器允许对消息轻微的改变,而客户端只注意状 态码的数字值。所以服务器可能只返回 HTTP/1.1 200 而不是 HTTP/1.1 200 OK。...注意:在 HTTP 1.0中,消息是临时移动(Moved Temporarily)的而不是被找到,因此HttpServletResponse中的常量是SC_MOVED_TEMPORARILY不是我们以为...307状态被加入到 HTTP 1.1中是由于许多浏览器在收到302响应时即使是原始消息为POST的情况下仍然执行了错误的转向。只有在收到303响应时才假定浏览器会在POST请 求时重定向。...添加这个新的状态码的目的很明确:在响应为303时按照GET和POST请求转向;而在307响应时则按照GET请求转向而不是POST请 求。...要关闭此功能,在工具菜单里,选择Internet选项,进入高级标签页,并确认“显示友好的 HTTP 错误信息”选项(在我的浏览器中是倒数第8各选项)没有被选。

    1.4K70

    超越IaC:解决云计算关注点分离问题

    如果您对所有问题都回答“否”,那么要么您正在避免使用托管服务,要么您已经在使用基础设施即代码 (IfC),或者您已经找到了另一种解决方案——我很想了解这种解决方案。...我们还将演示如何使用 Nitric 和来自代码的基础设施来实现同一个项目,突出显示复杂性的降低和关注点分离的改进,而不会限制可配置性或对底层服务的访问。...完整的差异很大,可以在 GitHub 上的最新提交 上查看。 1....如果没有部署应用程序并对其进行测试,很难发现此处的拼写错误或其他错误。 更改 IfC 的步骤 与 IaC 不同,IfC 的更改非常小,以至于我们可以在这里显示所需的全部更改,而不是仅仅一个示例。...下一步 托管服务和 IaC 的承诺是不可否认的,但如果没有适当的关注点分离,你将得到一个脆弱的、紧密耦合的系统。基础设施即代码解决方案可以引入一个新的分离层,在应用程序开发和部署之间提供清晰的分离。

    9210

    接口-Fiddler-​HTTP状态码详解

    HTTP状态码详解 HTTP状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码。...该代码表示服务器已经收到并正在处理请求,但无响应可用。这样可以防止客户端超时,并假设请求丢失。 第2章 2XX成功 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。...除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。...如果错误发生时客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。...4.5 404 Not Found 主条目:HTTP 404 请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。没有信息能够告诉用户这个状况到底是暂时的还是永久的。

    1.1K10

    测试应用启动性能

    ,其中包括绘制第一帧 (所以是 "已显示" 的状态)。...最显而易见的是 adb shell am kill…... 但事实上这条命令并不能解决问题。当您启动应用后,应用会处在前台,而 kill 不会终止处在前台的应用。...您可以一遍又一遍地在控制台中输入这些内容,但是在 shell 中,我们可以将这些命令放在循环里,然后只用一个命令就可以重复运行它。...此外,shell 脚本的代码非常优雅,不是吗? 尽可能地锁住主频 CPU 架构,尤其是 CPU 频率,是影响移动设备性能的重要因素。...更好的消息是,我的启动测试现在花费的时间比以前要长得多。您也许会好奇,为什么主频变慢了? 该 benchmark 工具将主频锁定在便于持续运行的级别,而不是高性能级别。

    38210

    CS 可视化: CORS

    尽管有一些快速消除此错误的方法,但今天我们不要掉以轻心!相反,让我们看看 CORS 到底在做什么,以及为什么它实际上是我们的朋友 ❗️ 在本博文中,我不会解释 HTTP 基础知识。...如果您想了解有关 HTTP 请求和响应的更多信息,我之前写过一篇小博文,尽管我在示例中使用的是 HTTP/1.1 而不是 HTTP/2,但这不会影响 CORS。...客户端发送带有服务器需要的所有信息的 HTTP 请求,以便将数据发送回客户端 假设我们正在尝试从位于 api.website.com 的服务器上获取一些用户信息,以在我们的 www.mywebsite.com...我们刚刚向服务器发送了一个 HTTP 请求,然后它以我们请求的 JSON 数据进行了响应。 让我们尝试相同的请求,但来自另一个域。...我们现在可以在跨源请求中包含凭据了 虽然我认为我们都可以一致同意,CORS 错误有时可能让人沮丧,但它确实使我们能够在浏览器中安全地进行跨源请求(它应该得到更多的关注 lol) ✨ 显然,同源策略和

    13710

    流畅的 Python 第二版(GPT 重译)(十一)

    ⑧ 如果download_one没有发生异常,清除错误消息。 ⑨ 如果发生错误,相应地设置本地status。 ⑩ 为该status增加计数。 ⑪ 在详细模式下,显示当前国家代码的错误消息(如果有)。...Quinlan 的演讲没有幻灯片;他通过在 Python 控制台中直接输入代码来展示库的功能。...由于异步操作是交错进行的,检查这 18 个域名所需的时间远远少于按顺序检查它们所需的时间。实际上,总时间几乎与单个最慢的 DNS 响应的时间相同,而不是所有响应时间的总和。...⑤ 我在客户端终端上按下了 Ctrl-C;finder中的while循环退出。 ⑥ finder协程显示此消息然后退出。与此同时,服务器仍在运行,准备为另一个客户端提供服务。...③ 异步生成器对象由async for语句驱动,而async for语句只能出现在async def体内或我在此示例中使用的魔术异步控制台中。

    22710

    Nmap安全扫描器

    这些探针的目的是征求表明IP地址实际上处于活动状态(正在由主机或网络设备使用)的响应。在许多网络上,在任何给定时间只有一小部分IP地址处于活动状态。...如果非特权用户尝试此操作,`connect`则使用前面讨论的 解决方法。此解决方法并不完美,因为`connect`实际上是在发送SYN数据包而不是ACK。...不幸的是,对于网络浏览器而言,许多主机和防火墙现在阻止了这些数据包,而不是按照RFC 1122的要求进行响应。 因此,针对Internet上未知目标的纯ICMP扫描很少具有足够的可靠性。...有时,它们以ICMP错误消息响应,例如类型3代码13(目标不可访问:在管理上被禁止通信),但是仅丢弃探针而不响应的过滤器则更为常见。...从单个系统的日志中看到一堆尝试连接的管理员应该知道自己已被扫描。 -sU (UDP扫描) 尽管Internet上大多数流行的服务都基于TCP协议运行,但UDP服务却得到了广泛的部署。

    1.6K40

    【前端 · 面试 】HTTP 总结(四)—— HTTP 状态码

    返回202状态码的响应的目的是允许服务器接受其他过程的请求(例如某个每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到批处理操作全部完成。...当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。...浏览器应当向用户显示任何包含在此类错误响应中的实体内容。...如果错误发生时客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。...当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。 404 Not Found 请求失败,请求所希望得到的资源未被在服务器上发现。

    1K10

    如何选择有效的防火墙策略来保护您的服务器

    在您的服务器上启用防火墙。如果您使用的是腾讯云的CVM服务器,您可以直接在腾讯云控制台中的安全组进行设置。 决定默认策略 构建防火墙时,必须做出的一个基本决策是默认策略。...Drop可用作默认策略或匹配规则的目标。丢弃数据包时,iptables基本上只是丢弃它。它不会向尝试连接的客户端发送任何响应,也不会发出任何已经收到相关数据包的指示。...这可能会增加恶意行为者为获取有关服务器端口状态的正确信息而花费的时间,但也可能导致合法流量出现问题。 丢弃流量的替代方法是明确拒绝您不允许的数据包。...ICMP或Internet控制消息协议是整个互联网中使用的元协议,用于在主机之间发送状态,诊断和错误消息,作为不依赖于传统通信协议(如TCP或UDP)的带外信道。...由于脚本通常不是时间敏感的,因此丢弃非法流量不会产生预期的抑制因素,但会对合法用户产生负面影响。 丢弃与拒绝响应表 下表显示受防火墙保护的服务器将如何响应不同的请求,具体取决于应用于目标端口的策略。

    2.4K20

    系统集成的演变历史

    话虽如此,RPC有一个小问题,我将其归因于它是第一次尝试解决当时非常新的问题:实现是依赖于语言的。...REST表示具象状态转移,它是一种基于资源而不是动作的系统集成方式。我们已经从过程和方法调用转移到使用SOAP的远程操作调用,现在,我们甚至从操作转移到资源。...REST背后的理念是,您的服务基于客户需要与之交互的资源,您在客户端和服务器之间传输的只是这些资源的状态,而不是其他。...他的建议定义REST来利用HTTP的特性,例如响应代码(2xx和3xx表示成功响应,4xx表示客户端错误,5xx表示服务器错误)、动词(例如GET、POST、PUT等)和其他。...在这种情况下,请求和各自的响应都是基于json,但是客户允许定义正是他们想要的信息在他们的反应,包括相关资源与REST(你必须实现某种特别的解决方案或只是你的客户做很多请求得到的)。

    1.3K30
    领券