WebAPI.QuickNet
1.0.9
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package WebAPI.QuickNet --version 1.0.9
NuGet\Install-Package WebAPI.QuickNet -Version 1.0.9
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WebAPI.QuickNet" Version="1.0.9" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WebAPI.QuickNet --version 1.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WebAPI.QuickNet, 1.0.9"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install WebAPI.QuickNet as a Cake Addin #addin nuget:?package=WebAPI.QuickNet&version=1.0.9 // Install WebAPI.QuickNet as a Cake Tool #tool nuget:?package=WebAPI.QuickNet&version=1.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
using NLog;
using NLog.Web;
using WebAPI.QuickNet.Web.Core;
using WebAPI.QuickNet.Web.Core.Extends;
using WebAPI.QuickNet.Web.Core.Models;
using WebAPI.Test.Controllers;
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
try
{
var builder = WebApplication.CreateBuilder(args);
builder.InjectRun(options =>
{
//配置JWT验证
options.JwtOptions = new QuickJwtOptions
{
//JWT验证签发者
ValidIssuer = "QuickNet",
//JWT验证接收者
ValidAudience = "QuickNet.Client",
//JWT签名密钥
IssuerSigningKey = "This is a signature string with a length of 256",
//自定义JWT验证成功处理
OnTokenValidated = (c) => { logger.Info("JWT token authentication succeeded!"); },
//自定义JWT验证失败处理
OnChallenge = (c) => { logger.Error("JWT token validation failed!"); }
};
//限流配置
options.ThrottleOptions = new QuickThrottleOptions
{
//redis配置
RedisOption = new QuickThrottleRedisOption
{
Host = "localhost",
Port = 6379,
Password = "3333",
Database = 0,
},
//redis key前缀
KeyPrefix = "QuickNet",
//获取用户唯一标识,用于限流,只有 Policy.UserIdentity 才会生效
OnUserIdentity = (httpContext) =>
{
var loginProfile = httpContext.LoginProfile<UserInfo>();
return loginProfile?.UserId.ToString();
},
};
//自定义异常类型,继承该类型的异常将会被直接返回给客户端
options.BaseCustomErrorType = typeof(AbsCustomError);
},
(services) =>
{
//注入你的自定义服务
// services.AddTransient<IYouCustomerServer, YouCustomerServer>();
}
);
}
catch (Exception exception)
{
logger.Error(exception, $"The program terminated abnormally...{exception.Message}");
throw;
}
finally
{
NLog.LogManager.Shutdown();
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
- Dnc.Api.Throttle (>= 1.2.1)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 6.0.27)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 6.0.27)
- NLog (>= 5.2.8)
- NLog.Web.AspNetCore (>= 5.3.8)
- Swashbuckle.AspNetCore (>= 6.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.