是否有可能在C#3或4中做到这一点?也许有一些反思?
class Magic
{
[RunBeforeAll]
public void BaseMethod()
{
}
//runs BaseMethod before being executed
public void Method1()
{
}
//runs BaseMethod before being executed
public void Method2()
{
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
有一个替代解决方案,做Magic一个单例并将您的代码放在静态实例的getter上.这就是我做的:
public class Magic
{
private static Magic magic = new Magic();
public static Magic Instance
{
get
{
magic.BaseMethod();
return magic;
}
}
public void BaseMethod()
{
}
//runs BaseMethod before being executed
public void Method1()
{
}
//runs BaseMethod before being executed
public void …Run Code Online (Sandbox Code Playgroud) 我正在使用JwtBearer身份验证来保护我的API。我在[Authorize]每个API上方都添加了它,并且有效。
我正在使用以下代码在启动时添加身份验证:
services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "http://localhost:1234";
options.RequireHttpsMetadata = false;
options.Audience = "test";
});
Run Code Online (Sandbox Code Playgroud)
我想要一种添加[Authorize]到服务中函数的方法,或在函数中编写与相同的代码[Authorize]。