当前位置: 首页 > news >正文

wordpress网站打包app怎么做一个小程序app

wordpress网站打包app,怎么做一个小程序app,网站建设-好发信息网,七里河微信网站建设OSharpNS全称OSharp Framework with .NetStandard2.0#xff0c;是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架。这个框架使用最新稳定版的.NetCore SDK#xff08;当前是.NET Core 2.2#xff09;#xff0c;对 AspNetCore 的配置、依赖注入、日志、缓存、实体… OSharpNS全称OSharp Framework with .NetStandard2.0是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架。这个框架使用最新稳定版的.NetCore SDK当前是.NET Core 2.2对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、权限授权等模块进行更高一级的自动化封装并规范了一套业务实现的代码结构与操作流程使 .Net Core 框架更易于应用到实际项目开发中。开源地址https://github.com/i66soft/osharp官方示例https://www.osharp.org文档中心https://docs.osharp.orgVS 插件https://marketplace.visualstudio.com/items?itemNameLiuliuSoft.osharp框架的工程组织结构如下各工程简介OSharp【框架核心组件】框架的核心组件包含一系列快速开发中经常用到的Utility辅助工具功能框架各个组件的核心接口定义部分核心功能的实现OSharp.AspNetCore【AspNetCore组件】AspNetCore组件提供AspNetCore的服务端功能的封装OSharp.AutoMapper【对象映射组件】AutoMapper 对象映射组件封装基于AutoMapper的对象映射实现OSharp.EntityFrameworkCore【EFCore 数据组件】EFCore数据访问组件封装EntityFrameworkCore数据访问功能的实现OSharp.EntityFrameworkCore.MySql【EFCore MySql 数据组件】EFCore MySql数据访问组件封装MySql的EntityFrameworkCore数据访问功能的实现OSharp.EntityFrameworkCore.SqlServer【EFCore SqlServer 数据组件】EFCore SqlServer数据访问组件封装SqlServer的EntityFrameworkCore数据访问功能的实现OSharp.EntityFrameworkCore.Sqlite【EFCore Sqlite 数据组件】EFCore Sqlite数据访问组件封装Sqlite的EntityFrameworkCore数据访问功能的实现OSharp.EntityFrameworkCore.PostgreSql【EFCore PostgreSql 数据组件】EFCore PostgreSql数据访问组件封装PostgreSql的EntityFrameworkCore数据访问功能的实现OSharp.EntityFrameworkCore.Oracle【EFCore PostgreSql 数据组件】EFCore Oracle数据访问组件封装Oracle的EntityFrameworkCore数据访问功能的实现OSharp.Permissions【权限组件】使用AspNetCore的Identity为基础实现身份认证的封装以Security为基础实现以角色-功能、用户-功能的功能权限实现以角色-数据用户-数据的数据权限的封装OSharp.Log4Net【日志组件】基于Log4Net的日志记录组件OSharp.Redis【缓存组件】基于Redis的分布式缓存客户端组件OSharp.Hangfire【后台任务组件】封装基于Hangfire后台任务的服务端实现OSharp.MiniProfiler【MiniProfiler组件】基于MiniProfiler实现的性能监测组件OSharp.Swagger【SwaggerAPI组件】基于Swagger生成MVC的Action的API测试接口信息OSharp.Exceptionless【Exceptionless分布式日志组件】封装基于Exceptionless 分布式日志记录实现Nuget Packages1. 模块化的组件系统设计OSharp框架设计了一个模块Pack系统每个Pack以一个实现了模块基类OsharpPack的类作为入口这个类完成本模块的服务添加AddService和模块初始化工作UserPack。一个Pack是一系列高内聚低耦合的服务组织对象提供一个功能如缓存功能日志功能数据存储功能或完成一组业务处理如身份认证权限授权。一个Pack入口类的代码如下public class XXXPack : OsharpPack{ public override PackLevel Level PackLevel.Core; public override int Order 2; public override IServiceCollection AddServices(IServiceCollection services){ return services; } public override void UsePack(IServiceProvider provider){ IsEnabled true; }}当前框架的模块组成如下图OSharp核心模块OSharp.Core.Packs.OsharpCorePackCore依赖注入模块OSharp.Dependency.DependencyPackCoreLog4Net模块OSharp.Log4Net.Log4NetPackCoreAspNetCore模块OSharp.AspNetCore.AspNetCorePackCore事件总线模块OSharp.EventBuses.EventBusPackCoreAutoMapper模块OSharp.AutoMapper.AutoMapperPackFrameworkHangfire后台任务模块OSharp.Hangfire.HangfirePackFrameworkRedis模块OSharp.Redis.RedisPackFrameworkMySqlEntityFrameworkCore模块OSharp.Entity.MySql.MySqlEntityFrameworkCorePackFrameworkSqliteEntityFrameworkCore模块OSharp.Entity.Sqlite.SqliteEntityFrameworkCorePackFrameworkSqlServerEntityFrameworkCore模块OSharp.Entity.SqlServer.SqlServerEntityFrameworkCorePackFrameworkSqlServer-DefaultDbContext迁移模块OSharp.Site.Web.Startups.SqlServerDefaultDbContextMigrationPackFrameworkMVC功能点模块OSharp.AspNetCore.Mvc.MvcFunctionPackApplication数据实体模块OSharp.Core.EntityInfos.EntityInfoPackApplication系统信息模块OSharp.Systems.SystemPackApplication身份认证模块OSharp.Site.Identity.IdentityPackApplicationMVC模块OSharp.Site.Web.Startups.AspNetCoreMvcPackApplicationSignalR模块OSharp.Site.Web.Startups.SignalRPackApplication权限安全模块OSharp.Site.Security.SecurityPackApplication代码生成模块OSharp.Site.Web.Startups.CodeGeneratorPackApplicationSwaggerApi模块OSharp.Swagger.SwaggerPackApplication审计模块OSharp.Site.Systems.AuditPackApplication2. 自动化的依赖注入注册机制空接口标注方式框架定义了ISingletonDependencyIScopeDependencyITransientDependency 三个空接口对应着依赖注入的ServiceLifetime.Singleton、ServiceLifetime.Scoped、ServiceLifetime.Transient三种服务生命周期。按需要实现了空接口的服务类将在系统初始化时被检索出来进行实现类与其接口的依赖注入服务注册。空接口的标注方式统一使用TryAdd来进行注入一个示例代码如下public XXXService : IXXXService, ISingletonDependency{ }这个示例代码将在系统初始化时执行如下的注入行为services.TryAdd(new ServiceDescriptor(typeof(IXXXService), typeof(XXXService), ServiceLifetime.Singleton));DependencyAttribute特性标注方式空接口的标注方式只能指定服务的注册生命周期类型而不能进行更多的配置因此增加了[Dependency]特性的标注方式。通过[Dependency]可以进行 服务注册的生命周期类型、是否是TryAdd方式注册、是否替换已存在的服务、是否注册自身 等配置使用起来更加灵活方便。一个示例代码如下[Dependency(ServiceLifetime.Singleton, ReplaceExisting true, AddSelf true)]public XXXService : IXXXService{ }这个示例代码将在系统初始化时执行如下的注入行为services.Replace(new ServiceDescriptor(typeof(IXXXService), typeof(XXXService), ServiceLifetime.Singleton));services.TryAdd(new ServiceDescriptor(typeof(XXXService), typeof(XXXService), ServiceLifetime.Singleton));自动化的注册机制系统初始化时通过反射检索程序集的方式检索出所有服务类型(ServiceType)与服务实现(ImplementationType)及生命周期类型(ServiceLifetime)的相关数据将依赖注入服务注册到服务容器ServiceCollection中。3. UnitOfWork-Repository模式EFCore上下文动态构建数据模块使用了UnitOfWork-Repository的模式来设计设计了一个泛型的实体仓储接口IRepositoryTEntity,TKey避免每个实体都需实现一个仓储的繁琐操作。设计了IUnitOfWorkManager接口来管理多数据库连接事务每个IUnitOfWork通过IUnitOfWork模式管理DbContext的创建与缓存使同连接对象的多个上下文共享事务达到多上下文的事务同步能力。基于MVC的ActionFilter的UnitOfWorkAttribute AOP 事务自动提交业务中不再需要关心事务的生命周期。系统初始化时通过反射检索程序集的方式检索出各个实体与上下文的映射关系向上下文中动态添加实体类来构建上下文类型以达到上下文类型与业务实体解耦的目的。通过统一基类EntityTypeConfigurationBaseTEntity, TKey的FluentAPI实体映射自由配置每个实体与数据库映射的每一个细节。4. 基于AspNetCore的Identity的身份认证设计系统使用AspNetCore原生的用户身份认证框架身份认证相关操作统一使用UserManagerRoleMamanger两个入口保持了原生Identity的体系强大性与功能完整性。重新设计了用户存储UserStore和角色存储RoleStore使用框架内设计的IRepositoryTEntity,TKey数据仓储接口来实现对数据的仓储操作使Identity身份认证系统与框架完美结合避免了使用官方的Microsoft.AspNetCore.Identity.EntityFrameworkCore造成多个上下文或者被强制使用Identity上下文作为系统数据上下文来实现业务造成的尴尬。5. 设计了一个强大的功能权限与数据权限的授权体系从底层开始自动收集了系统的所有业务点IFunction和数据实体IEntityInfo用于对系统的功能权限、数据权限、数据缓存、操作审计 等实用功能提供数据支持。功能点Function与MVC的Area/Controller/Action一一对应是功能权限的最小验证单位基于功能点可以配置功能访问类型匿名访问、登录访问、限定角色访问功能的数据缓存时间及缓存过期方式绝对过期、相对过期是否开启操作审计XXX人员XXX时间做了XXX操作是否开启数据审计操作引起的数据变化详情新增、更新、删除数据实体EntityInfo与数据库中的各个数据实体一一对应基于数据实体可以配置是否开启数据审计与Function上的同配置级别不同如果指定实体未开放审计则不审计当前实体。实现数据权限基于角色 - 实体的数据权限设计通过配置实现 XXX角色是否有权访问XXX实体数据的XX属性设计了一个树形结构的业务模块体系Module对应着后端向前端菜单/按钮开放的API一个模块可由一个或多个功能点构成模块是对外开放的特殊功能点是进行 角色/用户功能授权 的单位。把一个模块授权给角色角色即拥有了一个或多个功能点的操作权限。功能权限授权流程功能权限验证流程系统初始化时根据每个角色Role分配到的模块Module自动初始化每个 角色 Role - Function[]的权限对应关系并缓存游客进入系统时自动请求所有可匿名访问FunctionAccessType.Anonymouse的模块信息并缓存到浏览器浏览器根据这个缓存的模块集合对前端页面的各个操作点菜单/按钮进行是否隐藏/禁用的状态控制注册用户登录系统时自动请求所有可执行包括匿名的FunctionAccessType.Anonymouse、登录的FunctionAccessType.Logined、指定角色的FunctionAccessType.RoleLimit的模块信息并缓存到浏览器浏览器根据这个缓存的模块集合对前端页面的各个操作点菜单/按钮进行是否隐藏/禁用的状态控制用户User执行一个功能点Function时验证流程如下用户未登录返回401逐个验证用户拥有的角色Role根据角色从缓存中取出Role-Function[]缓存项Function[]包含要验证的功能点时验证通过由分配给用户的模块Module对应的功能点获取到User-Function[]并缓存Function[]包含要验证的功能点时验证通过验证未通过返回403功能点不存在时返回404功能点被锁定时返回423功能点可访问性为匿名FunctionAccessType.Anonymouse验证通过功能点可访问性为需要登录FunctionAccessType.Logined时用户未登录返回401已登录则验证通过功能点可访问性为需要登录FunctionAccessType.RoleLimit时流程如下数据权限授权流程基于 角色Role-实体EntityInfo 的一一对应关系配置指定角色对指定数据实体的数据查询筛选规则并持久化到数据库中数据查询筛选规则组成为 条件组FilterGroup和条件FilterRule一个条件组 FilterGroup 包含 一个或多个条件 FilterRule 和 一个或多个 条件组FilterGroup这样就实现了条件组和条件的无限嵌套能满足绝大多数数据筛选规则的组装需要如下图数据权限验证流程系统初始化时将所有角色-实体的数据筛选规则缓存到内存中进行数据查询的时候根据当前用户的所有角色 Role和要查询的实体 EntityInfo查找出所有配置的数据筛选规则FilterGroup转换为数据查询表达式ExpressionFuncTEntity,bool各个角色的表达式之间使用Or逻辑进行组合将以上生成的数据权限数据查询表达式使用And逻辑组合到用户的提交的查询条件生成的表达式中得到最终的数据查询表达式提交到数据库中进行数据查询从而获得数据权限限制下的合法数据6. 集成 Swagger 后端API文档系统OSharp 快速启动模板的开发模式集成了Swagger API 文档生成组件更方便了前后端分离的开发模式中前后端开发人员的数据接口对接工作。基于Swagger的工作原理API的输入输出都需使用强类型的数据类型Swagger才能发挥更好的作用而OSharp框架通过AutoMapper的ProjectTo对业务实体到输出DTOIOutputDto提供了自动映射功能能有效减轻后端开发中数据对象属性映射的工作量。OSharp 的这个版本是基于Angular前端框架 NG-ALAIN 开发的部分界面展示如下后台主页功能管理数据实体管理原文地址https://www.cnblogs.com/guomingfeng/p/osharpns-intro.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/501184/

相关文章:

  • 如何建购物网站论坛类的网站怎样做
  • 河南省建设工程招投标协会网站安卓开发软件工具
  • 中国空间站wordpress无法选择服务器配置
  • 郑州家居网站建设服务公司asp网站助手
  • 做网站一般几个人WordPress 中英文翻译
  • 有没有兼职做网站的化工企业建网站
  • 石家庄展厅设计公司黑帽seo怎么做网站排名
  • 网站开发维护成本计算wordpress 无法访问
  • 永久免费做网站营销软文广告
  • 网站规划怎么写wordpress如何搭建博客
  • 网站索引页面网站做302重定向会怎么样
  • 精品成品冈站源码免费企业网站的内容模块
  • 网站策划的最终体现南宁网站建设培训学校
  • 网站不备案打不开怎么建网站不用买空间
  • 有没有IT做兼职的网站百度收录入口提交
  • 普洱市建设局网站重庆工程建设信息查询
  • 上海网站设计多少钱wap网站生成微信小程序
  • 广州网站到首页排名做图骂人的图片网站
  • 公司的网站建设价格wordpress付费阅读文章功能
  • 飞鸽网站建设建设网站什么软件比较好
  • 网站名称 规则网站seo完整seo优化方案
  • 昆明网站建设高端定制wordpress建站课程
  • 建网站外包wordpress 便利贴
  • 硅胶 技术支持 东莞网站建设网站互联网接入商
  • 太平洋建设21局网站微信网页版登录手机版
  • 站长统计芭乐鸭脖小猪电商平台哪个最好
  • 女与男爱做电影网站免费企业公司网站建设方案
  • 尚品本色木门网站是哪个公司做的大庆建设公司网站
  • 做网做网站建设的网站怎么用别人网站做模板
  • 电子商务网站购物车怎么做网站站点创建成功是什么意思