我有这个代码:
https://github.com/nbarbettini/SimpleTokenProvider/tree/master/test/SimpleTokenProvider.Test
这是用 .net CORE 完成的,它是一个带有 .net CORE 的 WEB API。
我需要实现具有相同安全性的 WEB API,但使用的是 .net 框架而不是 dot net core。
我需要将来自 Startup.cs、StartupAUth.cs、Program.cs 的代码放在使用 .net framework 4.5.2 的经典 asp.net web api 项目中的什么地方?
谢谢
最佳答案
在经典的 asp.net web 项目中,您可能会发现 Global.asax.cs
文件中的以下位置很有用:
1) Application_Start
方法在应用程序启动时调用一次,对于每次 Web 服务器回收只需要运行一个的配置代码很有用。
2) Application_AuthenticateRequest
方法为每个请求调用一次,可用于身份验证代码,但请注意它无法访问 session 状态。
3) Application_AcquireRequestState
方法在 Application_AuthenticateRequest
之后不久被调用,对于需要访问 session 状态的安全相关逻辑很有用。
这三个应该能够为您提供实现功能所需的 Hook 。但是,您将无法使用与在 asp.net core 中使用的代码相同的代码,因为这两个平台的体系结构和可用对象不同。因此,例如,Asp.Net Core 中的 HttpRequest
对象与完整框架 Asp.Net 中的 HttpRequest
对象是不同的对象(在不同的命名空间中定义)。
概念在很多情况下都是相似的(比如 HttpRequest),这有助于移植代码,但由于对象上的方法和属性并不相同,因此这将是一个移植练习。
关于c# - .net framework 上的 startup 和 startup.auth 代码放在哪里(不是 .net core),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43647697/