ABP的AspNetCore模块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ABP的AspNetCore模块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2630字,纯文字阅读大概需要4分钟。
内容图文
![ABP的AspNetCore模块](/upload/InfoBanner/zyjiaocheng/759/3e9723bf025c4afea394744ce509f9f7.jpg)
1、AspNetCore模块
[DependsOn( typeof(AbpAuditingModule), typeof(AbpSecurityModule), typeof(AbpVirtualFileSystemModule), typeof(AbpUnitOfWorkModule), typeof(AbpHttpModule), typeof(AbpAuthorizationModule), typeof(AbpDddDomainModule), //TODO: Can we remove this? typeof(AbpLocalizationModule), typeof(AbpUiModule), //TODO: Can we remove this? typeof(AbpValidationModule) )] public class AbpAspNetCoreModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { context.Services.AddConfiguration(); } public override void ConfigureServices(ServiceConfigurationContext context) { Configure<AbpAuditingOptions>(options => { options.Contributors.Add(new AspNetCoreAuditLogContributor()); }); AddAspNetServices(context.Services); context.Services.AddObjectAccessor<IApplicationBuilder>(); } private static void AddAspNetServices(IServiceCollection services) { services.AddHttpContextAccessor(); } }
2、审计
添加中间件,是否写审计日志;审计AbpAuditingOptions的配置,IsEnabled(默认为true),IsEnabledForAnonymousUsers(默认为true),当前用户是否授权,IsEnabledForGetRequests(默认false)
private bool ShouldWriteAuditLog(HttpContext httpContext) { if (!Options.IsEnabled) { return false; } if (!Options.IsEnabledForAnonymousUsers && !CurrentUser.IsAuthenticated) { return false; } if (!Options.IsEnabledForGetRequests && string.Equals(httpContext.Request.Method, HttpMethods.Get, StringComparison.OrdinalIgnoreCase)) { return false; } return true; }
增加AuditLogContributor的AspNetCoreAuditLogContributor
AuditLogContributionContext下的AuditLogInfo的HttpMethod,Url,ClientIpAddress,BrowserInfo
3、依赖注入
IHybridServiceScopeFactory的替换实现服务
public virtual IServiceScope CreateScope() { var httpContext = HttpContextAccessor.HttpContext; if (httpContext == null) { return ServiceScopeFactory.CreateScope(); } return new NonDisposedHttpContextServiceScope(httpContext.RequestServices); } protected class NonDisposedHttpContextServiceScope : IServiceScope { public IServiceProvider ServiceProvider { get; } public NonDisposedHttpContextServiceScope(IServiceProvider serviceProvider) { ServiceProvider = serviceProvider; } public void Dispose() { } }
3、异常处理
异常处理中间件
4、安全
HttpContextCurrentPrincipalAccessor;
ClaimsPrincipal Principal => _httpContextAccessor.HttpContext?.User ?? base.Principal;
5、线程
HttpContextCancellationTokenProvider
public CancellationToken Token => _httpContextAccessor.HttpContext?.RequestAborted ?? CancellationToken.None;
6、Trace,中间件AbpCorrelationIdMiddleware
7、工作单元,中间件AbpUnitOfWorkMiddleware
8、VirtualFileSystem;AspNetCoreContentOptions,IFileProvider等服务
2、AspNetCore.Mvc
AbpAspNetCoreMvcModule的配置
内容总结
以上是互联网集市为您收集整理的ABP的AspNetCore模块全部内容,希望文章能够帮你解决ABP的AspNetCore模块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。