如何在 Web ASP.NET (.NET Framework) 中创建启动文件?
Posted
技术标签:
【中文标题】如何在 Web ASP.NET (.NET Framework) 中创建启动文件?【英文标题】:How to create Startup file in Web ASP.NET (.NET Framework)? 【发布时间】:2020-04-24 18:48:16 【问题描述】:我有一个在 VB.NET 中构建为 ASP.NET (.NET Framework) 的网站,所以它不是 CORE 应用程序。
该网站在 WebApi 2 中构建了很多 API,现在我打算通过 JWT 创建一个身份验证 API,实际上我还有一个返回 JWT 令牌的控制器,但现在我必须验证它...
正如我在网上看到的,我必须验证它是否会抛出像 OWIN 这样的中间件,所以我需要在 Startup 类中添加以下方法
Public Class Startup
Public Sub Configuration(ByVal app As IAppBuilder)
app.UseJwtBearerAuthentication(New JwtBearerAuthenticationOptions With
.AuthenticationMode = AuthenticationMode.Active,
.TokenValidationParameters = New TokenValidationParameters() With
.ValidateIssuer = True,
.ValidateAudience = True,
.ValidateIssuerSigningKey = True,
.ValidIssuer = "url",
.ValidAudience = "url",
.IssuerSigningKey = New SymmetricSecurityKey(Encoding.UTF8.GetBytes("my_secret_key_12345"))
)
End Sub
End Class
但问题是通过右键单击项目并通过 > 添加新元素 Startup 类不存在...
那么我怎样才能创建一个呢?正如我所读到的,该项目必须是 .NET Core 才能使用 Owin Startup 类。所以我应该在 Core 中重建我的所有项目,还是无论如何我都可以找到一种方法来验证 JWT 令牌而不需要它?
【问题讨论】:
这应该是您进一步研究的开始:***.com/questions/49407749/… 在 ASP.NET 中,您可以添加 global.asax 文件并处理 Application_Start 方法。我不确定这是否有帮助。 【参考方案1】:您可以使用以下属性将 Owin 启动类添加到 .NET Framework 项目中
[assembly: OwinStartup(typeof(myNamespace.Startup))]
namespace myNamespace
/// <summary>
/// OWIN startup class, automatically starts when app starts
/// </summary>
public partial class Startup
public void Configuration(IAppBuilder app)
这应该在 vb .net 中使用这个语法来工作
<Assembly: OwinStartup(GetType(myNamespace.Startup))]
只需在您的项目中添加一个名为 Startup 的常规类,这应该可以工作。
【讨论】:
以上是关于如何在 Web ASP.NET (.NET Framework) 中创建启动文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在asp.net c# web应用程序中使用asp.net vb页面
如何在 Web ASP.NET (.NET Framework) 中创建启动文件?
如何使用 ASP.NET 在 web.config 文件中写入 appSetting?
如何在 ASP.NET Web API 中为 Json.NET 设置自定义 JsonSerializerSettings?