将启动和startup.auth代码放在.net框架(而不是.net core)上的位置

Lui*_*cia 3 .net c# asp.net asp.net-core

我有这个代码:

https://github.com/nbarbettini/SimpleTokenProvider/tree/master/test/SimpleTokenProvider.Test

这是使用 .net CORE 完成的,它是一个带有 .net CORE 的 WEB API。

我需要实现一个具有相同安全性的 WEB API,但使用 .net 框架而不是 dot net core。

在使用 .net Framework 4.5.2 的经典 asp.net Web api 项目中,我需要将 Startup.cs、StartupAUth.cs、Program.cs 中的代码放在哪里?

谢谢

Ron*_*n C 5

在经典的 ASP.NET Web 项目中,您可能会发现文件中的以下位置很有Global.asax.cs用:

1) 该Application_Start方法在应用程序启动时调用一次,对于每次 Web 服务器回收时只需要运行一个的配置代码非常有用。

2) 该Application_AuthenticateRequest方法针对每个请求调用一次,并且对于身份验证代码很有用,但请注意它无法访问会话状态。

3) 该Application_AcquireRequestState方法很快就会被调用Application_AuthenticateRequest,对于需要访问会话状态的安全相关逻辑非常有用。

这三个应该能够为您提供实现功能所需的挂钩。但是,您将无法使用与在 ASP.NET Core 中使用的代码相同的代码,因为两个平台之间的体系结构和可用对象不同。例如,HttpRequestAsp.Net Core 中的对象与完整框架 Asp.Net 中的对象是不同的对象(在不同的命名空间中定义)HttpRequest

这些概念在许多情况下都很相似(例如 HttpRequest),这有助于移植代码,但这将是一个移植练习,因为对象的方法和属性并不相同。

  • 我发现在经典的 asp.net 中,您还可以将 Owin Middleware 与 nugetpackage 一起使用,然后启动类在安装包后也可以正常工作。谢谢 (3认同)