【问题标题】:ASP.NET Web API 2.0 pipeline and ASP.NET Core Web API pipeline differencesASP.NET Web API 2.0 管道和 ASP.NET Core Web API 管道的区别
【发布时间】:2018-12-30 11:30:25
【问题描述】:

我最近开始将我的应用从 Web.Api .NET 标准迁移到 .Net Core。

首先Web Api管道的所有步骤还在吗?

当我说所有步骤时,我的意思是: Web api pipeline Poster

在使用方面,我可以看到过滤器是通过

 [ServiceFilter(typeof(NameOfAttribute))]

但是在像这样的各种文章中: https://andrewlock.net/asp-net-core-in-action-filters/

我可以看到不同类型的过滤器,例如 resourceresults 过滤器。

我也看不到委托处理程序的用法。

我们应该在哪里将以前管道的功能与新标准集成?

谢谢

【问题讨论】:

    标签: c# asp.net-core asp.net-web-api2 asp.net-core-webapi


    【解决方案1】:

    由于经典的Asp.NetAsp.Net core 是同源技术,因此请求处理中有许多共同的概念,但存在一些差异,很可能您必须在项目中重写一些内容。

    正如您所说,有新的过滤器。它们允许以更精细的方式处理请求。您可以像以前一样使用过滤器,只需装饰动作和控制器:

    [SomeFilter]
    public IActionResult SomeAction(){...}
    

    并且(和以前的经典 Asp.Net 一样)您不能通过过滤器构造函数使用依赖注入。像这样应用的过滤器表现得像一个单例。一个实例用于所有请求。

    ServiceFilterAttributeTypeFilterAttribute 允许通过过滤器构造函数使用依赖注入。可选地,像这样应用的过滤器可以表现得像单例,或者可以为每个请求每次创建(使用依赖注入)。您可以使用IsReusable 属性对其进行调整。阅读有关过滤器here 的更多信息。

    没有更多的Delegating Handlers。您可以创建自定义middleware,而不是。你可以看一个例子here

    【讨论】:

    猜你喜欢
    • 2018-03-18
    • 2018-12-16
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    相关资源
    最近更新 更多