在.net框架上放置startup和startup.auth代码的位置(不是.net核心)

时间:2017-04-27 02:33:48

标签: c# asp.net .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。

在哪里需要将来自Startup.cs,StartupAUth.cs,Program.cs的代码放在带有.net framework 4.5.2的经典asp.net web api项目中?

感谢

1 个答案:

答案 0 :(得分:1)

在经典的asp.net网络项目中,您可能会发现Global.asax.cs文件中的以下位置非常有用:

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

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

3)Application_AcquireRequestState方法在Application_AuthenticateRequest后不久调用,对于需要访问会话状态的安全相关逻辑非常有用。

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

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