2017-04-27 82 views
0

我有這樣的代碼:如果把啓動和startup.auth代碼在.NET框架(.NET沒有核心)

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

這與對.NET核心,它是一個WEB API與完成。淨CORE。

我需要實現一個具有相同安全性的WEB API,但是使用.net framework而不是dot net core。

哪裏需要將Startup.cs,StartupAUth.cs,Program.cs中的代碼放在一個經典的asp.net web api項目中,使用.net framework 4.5.2?

感謝

回答

1

在一個經典的asp.net web項目,你可能會發現在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)是類似的,它有助於移植代碼,但它將是一個移植練習,因爲對象上的方法和屬性不相同。

+2

我發現在經典的asp.net中,你也可以使用owin中間件和nugetpackage,然後啓動類在安裝軟件包後也可以正常工作。謝謝 –