实例介绍
本文详细介绍了基于ASP.NET Core 2.2实现的前后端分离后端框架项目——Titan.Blog.WebAPP。该项目由个人长期维护,旨在提供一个稳定、高效的后端框架解决方案。项目涵盖了从角色授权设计到后端技术栈的全面应用,例如ASP.NET Core WebAPI、Swagger API文档生成、异步编程、跨域解决方案、IOC容器组件、分布式缓存、身份认证和自定义授权策略等。同时,数据库相关技术如AOP缓存、仓储模式编程以及轻量级ORM框架Entity Framework Core 2.2也得到了充分运用。此外,项目还关注前端技术的发展,包括Vue 2.0全家桶和ElementUI等。开发计划部分,项目已经实现了Swagger导出API文档、AOP缓存等功能,并计划加入更多先进特性,如接口频率限制、IP黑名单过滤、EF Core仓储模式重构等,以不断提升项目的质量和用户体验。
// 示例代码 public void ConfigureServices(IServiceCollection services) { // 添加服务配置 }【实例截图】
【核心代码】
文件清单
└── Titan.Blog.WebAPP-e746367c579929a7fca513f9136730eecdc1823c
├── Document文档
│ ├── dbo.sql
│ └── Titan.Blog.WebAPP.pdm
├── LICENSE
├── README.md
└── Titan.Blog.WebAPP
├── Titan.Blog.AppService
│ ├── Base
│ │ └── BaseServices.cs
│ ├── ChildrenServices.cs
│ ├── MainServices.cs
│ └── Titan.Blog.AppService.csproj
├── Titan.Blog.CodeTool
│ └── Titan.Blog.CodeTool.csproj
├── Titan.Blog.IAppService
│ ├── Base
│ │ └── IBaseServices.cs
│ ├── IChildrenServices.cs
│ ├── IMainServices.cs
│ └── Titan.Blog.IAppService.csproj
├── Titan.Blog.Infrastructure
│ ├── Attribute
│ │ └── CachingAttribute.cs
│ ├── AutoMapper
│ │ └── AutoMapperHelper.cs
│ ├── Cache
│ │ ├── ICache.cs
│ │ ├── MemoryCache.cs
│ │ └── RedisCache.cs
│ ├── File
│ │ ├── ByteHelper.cs
│ │ └── PathHelper.cs
│ ├── Http
│ │ └── RestSharpHelper.cs
│ ├── HttpExtenions
│ │ ├── HttpContext.cs
│ │ └── StaticHttpContextExtensions.cs
│ ├── Log
│ │ ├── ILoggerHelper.cs
│ │ └── LogHelper.cs
│ ├── Office
│ │ └── SpireDocHelper.cs
│ ├── Serializable
│ │ └── JsonHelper.cs
│ ├── T4
│ │ └── T4Helper.cs
│ ├── Titan.Blog.Infrastructure.csproj
│ └── Utility
│ ├── Appsettings.cs
│ ├── EnumExtensions.cs
│ ├── ExpressionExtensions.cs
│ ├── IPUtils.cs
│ ├── ListHelper.cs
│ ├── Md5Helper.cs
│ ├── ObjectExtensions.cs
│ ├── StringExtensions.cs
│ └── UtilityHelp.cs
├── Titan.Blog.IRepository
│ ├── Base
│ │ └── IBaseRepository.cs
│ ├── IChildrenRepository.cs
│ ├── IMainRepository.cs
│ ├── ISysButtonRepository.cs
│ ├── ISysModuleRepository.cs
│ ├── ISysOperateLogRepository.cs
│ ├── ISysRoleModuleButtonRepository.cs
│ ├── ISysRoleRepository.cs
│ ├── ISysUserRepository.cs
│ ├── ISysUserRoleRepository.cs
│ └── Titan.Blog.IRepository.csproj
├── Titan.Blog.Model
│ ├── AggregateRoot.cs
│ ├── CommonModel
│ │ ├── Enums
│ │ │ └── CacheType.cs
│ │ ├── ResultModel
│ │ │ ├── ExecResult.cs
│ │ │ ├── IExecResult.cs
│ │ │ ├── IOptionItem.cs
│ │ │ ├── ListPageInitData.cs
│ │ │ ├── OpResult.cs
│ │ │ ├── OpResultType.cs
│ │ │ ├── OptionCascaderItem.cs
│ │ │ ├── OptionGroupItem.cs
│ │ │ ├── OptionItem.cs
│ │ │ ├── PageCondition.cs
│ │ │ ├── PagingData.cs
│ │ │ ├── PermissionButtonItem.cs
│ │ │ ├── SortCondition.cs
│ │ │ ├── TableColumnItem.cs
│ │ │ └── TreeNode.cs
│ │ ├── UserInfo.cs
│ │ └── XmlModel.cs
│ ├── DataModel
│ │ ├── Children.cs
│ │ ├── DataExtensions.cs
│ │ ├── DataTableContextback.cs
│ │ ├── DataTable.cs
│ │ ├── Main.cs
│ │ ├── ModelBaseContext.cs
│ │ ├── SysButton.cs
│ │ ├── SysModule.cs
│ │ ├── SysOperateLog.cs
│ │ ├── SysRole.cs
│ │ ├── SysRoleModuleButton.cs
│ │ ├── SysUser.cs
│ │ └── SysUserRole.cs
│ ├── DbContext
│ │ └── ModelBaseContext.cs
│ ├── DTOModel
│ │ ├── SysHandleLogDto.cs
│ │ ├── SysRoleModuleButtonDto.cs
│ │ ├── SysTitleDto.cs
│ │ └── SysUserDto.cs
│ ├── Titan.Blog.Model.csproj
│ └── ViewModel
│ └── test.cs
├── Titan.Blog.Repository
│ ├── Base
│ │ └── BaseRepository.cs
│ ├── ChildrenRepository.cs
│ ├── MainRepository.cs
│ ├── SysButtonRepository.cs
│ ├── SysModuleRepository.cs
│ ├── SysOperateLogRepository.cs
│ ├── SysRoleModuleButtonRepository.cs
│ ├── SysRoleRepository.cs
│ ├── SysUserRepository.cs
│ ├── SysUserRoleRepository.cs
│ └── Titan.Blog.Repository.csproj
├── Titan.Blog.WebAPP
│ ├── AOP
│ │ ├── BlogCacheAOP.cs
│ │ └── BlogLogAOP.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Auth
│ │ ├── JWT
│ │ │ ├── JwtHelper.cs
│ │ │ └── JwtTokenAuth.cs
│ │ └── Policys
│ │ ├── JwtToken.cs
│ │ ├── Permission.cs
│ │ ├── PermissionHandler.cs
│ │ └── PermissionRequirement.cs
│ ├── AutoMapper
│ │ └── CustomProfile.cs
│ ├── Controllers
│ │ ├── SwaggerController.cs
│ │ ├── v1
│ │ │ └── AuthorizationController.cs
│ │ ├── v2
│ │ │ ├── AuthorizationController.cs
│ │ │ ├── EFCoreTestController.cs
│ │ │ ├── FileTestController.cs
│ │ │ ├── ImageTestController.cs
│ │ │ ├── RestfulAPIController.cs
│ │ │ └── TestController.cs
│ │ └── v3
│ │ └── AuthorizationController.cs
│ ├── CoreBuilder
│ │ ├── ICoreConfigurationBuilder.cs
│ │ ├── ICoreServiceBuilder.cs
│ │ ├── TitanCoreConfigureBuilder.cs
│ │ └── TitanCoreServiceBuilder.cs
│ ├── Extensions
│ │ ├── ApiControllerBase.cs
│ │ └── TitanBuilderCollectionExtensions.cs
│ ├── Filter
│ │ └── ErrorHandlingMiddleware.cs
│ ├── Log4net.config
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Startup.cs
│ ├── Swagger
│ │ ├── CustomApiVersion.cs
│ │ ├── CustomRouteAttribute.cs
│ │ ├── RemoveBogusDefinitionsDocumentFilter.cs
│ │ └── SwaggerUploadFileFilter.cs
│ ├── Titan.Blog.WebAPP.csproj
│ └── wwwroot
│ ├── buzyload
│ │ ├── app.css
│ │ ├── app.js
│ │ ├── app.min.css
│ │ └── app.min.js
│ ├── demo.png
│ ├── index.html
│ ├── jquery
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ └── jquery.min.map
│ ├── swagger-common.css
│ ├── SwaggerDoc.cshtml
│ ├── swagger-lang.js
│ └── 权限系统设计图.png
└── Titan.Blog.WebAPP.sln
50 directories, 149 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论