Microsoft.AspNet.WebApi.Core 和过时的库

Posted

技术标签:

【中文标题】Microsoft.AspNet.WebApi.Core 和过时的库【英文标题】:Microsoft.AspNet.WebApi.Core and outdated libraries 【发布时间】:2021-09-14 00:50:35 【问题描述】:

我正在学习一个教程(尤其是这个 https://www.twilio.com/docs/usage/tutorials/how-to-secure-your-csharp-aspnet-web-api-app-by-validating-incoming-twilio-requests),以便创建一个属性来保护我的 Web API webhook。我正在使用.NET 6 preview 7,在我看来,在本教程中他们使用了一些过时的库(如果我错了,请纠正我),例如 Microsoft.AspNet.WebApi.Core 和 System.Web.Http。我将这些库添加到我的项目中,几个小时后我开始工作,我的端点似乎是安全的。现在,如前所述,我添加了 Microsoft.AspNet.WebApi.Core 库作为参考,Visual Studio 2022 甚至给我一个警告,说由于版本不匹配,它可能无法获取它的正确版本。

我的问题是:这个过时的库(或依赖项)会干扰我的其他 .NET 6 API/Web API 控制器和 ASP.NET Core 中的 Web 基础架构吗?通常用于加载其他代码,这使我无法利用 .NET 6 的新功能、性能提升和其他改进。有很多 DI 正在进行,我觉得我对如何加载所有内容以及加载哪些内容没有完全了解当我将我的应用程序部署到 IIS 时,实际上会使用库。理想情况下,我想移植这个属性类以使用最新的 .NET 6 库,但据我了解,其中许多对象和属性在较新的库中的处理方式不同。

【问题讨论】:

顶部的那篇文章有一个指向 .net 核心实现的链接,该实现适用于 .net 6。 感谢您的回复。我正在尝试 ASP.NET Core 版本,并且我直接从该教程中复制 ASP.NET Core 代码,但是对于与 ASP.NET WebAPI 版本一起使用的相同方法,这给了我一个 403 Forbidden 错误。不知道是不是因为 SSL 连接的处理方式不同。 【参考方案1】:

感谢 Daniel A. White 的帮助。我的问题是我的端点托管在子路径上,因此示例中的 RequestRawUrl 方法获取的 URL 略有错误。

【讨论】:

以上是关于Microsoft.AspNet.WebApi.Core 和过时的库的主要内容,如果未能解决你的问题,请参考以下文章