ABP官方文档翻译 6.1.3 异常处理】的更多相关文章

处理异常 介绍 启用错误处理 Non-Ajax请求 显示异常 UserFriendlyException Error模型 AJAX请求 异常事件 介绍 此文档是与ASP.NET MVC和Web API相关的.如果你对ASP.NET Core感兴趣,参见ASP.NET Core文档. 在web应用中,异常通常在MVC Controller actions和Web API Controller actions中处理.当异常发生时,应用程序的用户以某种方式被告知错误的相关信息及原因. 如果错误在正常的…
ABP Nuget包 Packages Abp Abp.AspNetCore Abp.Web.Common Abp.Web Abp.Web.Mvc Abp.Web.Api Abp.Web.Api.OData Abp.Web.Resources Abp.Web.SignalR Abp.Owin Abp.EntityFramework.Common Abp.EntityFramework Abp.EntityFramework.GraphDiff Abp.EntityFrameworkCore Ab…
后台Jobs和Workers 介绍 后台Jobs 关于Job持久化 创建后台Job 在队列中添加一个新Job 默认的后台Job管理器 后台Job存储 配置 禁用Job执行 异常处理 Hangfire集成 后台Workers 创建后台Workers 注册后台Workers 后台Worker生命周期 高级计划安排 让你的应用一直运行 介绍 ABP提供了后台jobs和workers,他们用于在应用的后台线程中执行一些任务. 后台Jobs 后台Jobs用来排队一些需要在后台队列或持久化的方式执行一些任务…
ASP.NET Core 介绍 迁移到ASP.NET Core? 启动模板 配置 启动类 模块配置 控制器 应用服务作为控制器 过滤器 授权过滤器 审计Action过滤器 校验过滤器 工作单元Action过滤器 异常过滤器 结果过滤器 Ajax请求的结果缓存 模型绑定器 视图 客户端代理 集成测试 介绍 本文档描述了ABP如何集成ASP.NET Core.ASP.NET Core通过Abp.AspNetCore nuget包实现集成. 迁移到ASP.NET Core? 如果你已经有一个工程并考虑…
ASP.NET MVC控制器 介绍 AbpController基类 本地化 其他 过滤器 异常处理和结果包装 审计日志 验证 授权 工作单元 介绍 ABP通过Abp.Web.Mvc nuget包集成到了ASP.NET MVC Controllers.你可以像往常一样创建MVC控制器.依赖注入属性可以用于通常的MVC控制器.但是你应该继承AbpController,它提供了一些好处并且能够和ABP更好的集成. AbpController基类 这是一个继承AbpController的简单控制器: p…
动态Web APID层 创建动态Web API控制器 ForAll方法 重写ForAll ForMethods Http动词 WithVerb方法 HTTP特性 命名约定 API管理器 RemoteServie特性 动态Javascript代理 AJAX参数 单一服务脚本 Anaular集成 启用/禁用 包装结果 关于参数绑定 FormUrl和FormBody特性 DTOs对比原始类型 创建动态Web API控制器 这个文档是针对ASP.NET Web API的.如果你对ASP.NET Core…
ASP.NET Web API控制器 介绍 AbpApiController基类 本地化 其他 过滤器 审计日志 授权 反伪造过滤器 工作单元 结果包装和异常处理 结果缓存 校验 模型绑定器 介绍 ABP通过Abp.Web.Api nuget包集成到ASP.NET Web API控制器.你可以按照往常一样创建ASP.NET Web API控制器.依赖注入系统可以用于一般的ApiControllers.但是,建议继承AbpApiController,它提供了许多好处并且能够更好的与ABP集成. A…
动态Web API层 创建动态Web API控制器 ForAll方法 重写ForAll ForMethods Http动词 WithVerb方法 HTTP特性 命名约定 API管理器 RemoteServie特性 动态Javascript代理 AJAX参数 单一服务脚本 Anaular集成 启用/禁用 包装结果 关于参数绑定 FormUrl和FormBody特性 DTOs对比原始类型 创建动态Web API控制器 这个文档是针对ASP.NET Web API的.如果你对ASP.NET Core感…
介绍 介绍 快速示例 其他 启动模板 如何使用 介绍 我们通常会根据不同的需求来创建不同的应用程序.但是对于一些通用相似的结构总是一遍又一遍的实现,至少在某种程度上是这样的.常见的通用模块如授权.验证.异常处理.日志.本地化.数据库连接管理.设置管理.审计日志.同时,我们也在使用如分层.模块化架构,领域驱动设计,依赖注入等创建架构和最佳实践.并且尝试着基于约定俗成的原则开发应用程序. 因为开发这些框架是非常耗时的,并且很难单独对每个工程创建,所以很多公司创建了私有的框架.使用这些私有框架,他们开…
一直想学习ABP,但囿于工作比较忙,没有合适的契机,当然最重要的还是自己懒.不知不觉从毕业到参加工作七年了,没留下点儿什么,总感觉很遗憾,所以今天终于卯足劲鼓起勇气开始写博客.有些事能做的很好,但要跟别人说明白却困难的多,可能说的很明白但要写出来困难又加一重. 以前只了解过ABP,没有研究过,所以决定从翻译官方文档开始学习,园子里已经有大牛的博客对ABP进行了详细 .细致.深入的讲解.我做不到锦上添花只为激励自己和那些想写博客还没有动手的人赶紧行动起来吧.所以各位看官,可能有很多错误和不当的地方…
设置管理 介绍 关于 ISettingStore 定义设置 设置范围 重写设置定义 获取设置值 服务端 客户端 更改设置 关于缓存 介绍 每个应用都需要存储设置,并且在应用的某些地方需要使用这些设置.ABP提供了一个强大的在服务端和客户端都可以使用的基础设施存储/获取应用.租户和用户级别的设置. 一个设置是一个名称-值字符串对,一般存放在数据库(或其他源).我们可以存储非字符串值,但需要把他们转换成字符串. 关于 ISettingStore 为了使用设置系统,ISettingStore接口必须实…
NHibernate集成 Nuget包 配置 实体映射 仓储 默认实现 自定义仓储 应用程序特定基础仓储类 ABP可以使用任何ORM框架,它内置集成NHibernate.此文档将讲解ABP如何使用NHibernate,假定你对NHibernate已经有了一定的了解. Nuget包 在ABP中实现NHibernate做为ORM框架的Nuget包为Abp.NHibernate.你需要在应用程序中添加它.最好在一个单独的程序集中实现NHibernate并在这个程序集里依赖Abp.NHibernate包…
Entity Framework Core 介绍 DbContext 配置 在Startup类中 在模块PreInitialize方法中 仓储 默认仓储 自定义仓储 应用程序特定基础仓储类 自定义仓储示例 取代默认仓储 仓储最佳实践 介绍 Abp.EntityFrameworkCorenuget包用来集成EntityFramework(EF)Core ORM框架.安装这个包之后,我们需要为AbpEntityFrameworkCoreModule添加DependsOn特性. DbContext E…
EntityFramework集成 Nuget包 DbContext 仓储 默认仓储 自定义仓储 应用特定的基础仓储类 自定义仓储示例 仓储最佳实践 事务管理 数据存储 ABP可以使用ORM框架,它内置集成EntityFramework.本文档将讲解ABP如何使用EntityFramework.假定你对EntityFramework已经有了初级水平. Nuget包 在ABP中使用Abp.EntityFramework nuget包扩展了EntityFramework.需要将它添加到工程中.最好在…
SignalR集成 介绍 安装 服务器端 客户端 建立连接 內建特征 通知 在线客户端 PascalCase与CamelCase对比 你的SignalR代码 介绍 ABP中的Abp.Web.SignalRnuget包使的使用SignalR变得极其容易.参见SignalR文档了解关于SignalR更多的详细信息. 安装 服务器端 在工程中(通常在web层)安装Abp.Web.SignalR nuget包,并在模块中添加如下依赖: [DependsOn(typeof(AbpWebSignalRMod…
通知系统 介绍 发送模型 通知类型 通知数据 通知严重性 关于通知持久化 订阅通知 发布通知 用户通知管理 实时通知 客户端 通知存储 通知定义 介绍 在系统中通知用来基于特定的事件告知用户.ABP提供了pub/sub基础实时通知基础设施. 发送模型 有两种给用户发送通知的方式: 用户订阅一个特定的通知类型.然后我们发布此类型的一个通知,此类型会被发送给所有订阅的用户.这就是pub/sub模型. 我们可以直接给目标用户发送一个通知. 通知类型 通知有两种类型: 普通通知可以是任意类型.“如果一个…
Quartz集成 介绍 安装 创建Jobs 计划安排Jobs 更多 介绍 Quartz是一个全功能的.开源的job计划安排系统,可以用在小的apps也可以用于大型的企业系统.Abp.Quartz包简化了ABP集成Quartz. ABP有內建的持久化后台job队列和后台worker系统.如果对于后台workers你有更高级的计划安排需求,Quartz会是一个更好的选择.对于持久化后台job队列,Hangfire也是一个好的选择. 安装 在工程中安装Abp.Quartz nuget包并在模块上为Ab…
Hangfire集成 介绍 ASP.NET Core集成 ASP.NET MVC 5.x集成 面板授权 介绍 Hangfire是一个综合的后台job管理器.你可以 把它集成到ABP,用来取代默认的后台job管理器.Hangfire可以使用相同的后台jobAPI.因此,你的代码与Hangfire是独立的.但是,如果你喜欢的话,可以直接使用Hangfire的API. Hangfire集成依赖于使用的框架. ASP.NET Core集成 Abp.HangFire.AspNetCore包用来集成到ASP…
CSRF/XSRF保护 介绍 HTTP动词 非浏览器客户端 ASP.NET MVC 特征 集成 布局视图 配置 ASP.NET Web API 特征 集成 集成到ASP.NET MVC客户端 集成到其他客户端 ASP.NET Core 特征 集成 Startup类 布局视图 客户端类库 jQuery Angular 其他类库 拦截XML HttpRequest 使用类库拦截器 动添加Header 内部构件 介绍 "跨站请求伪造(CSRF)是网络攻击的一种类型,当一个恶意的网站.email.博客.…
JavaScript API AJAX 通知 消息 UI Block和Busy 事件总线 日志 其他实用功能 ABP提供了一套对象和函数,用来简化.标准化javascript的开发. 这里是ABP提供的APIs列表.点击标题查看详情和用法. AJAX 用来使用AJAX调用服务端的服务并解析返回值.因为ABP服务端的代码返回AJAX调用的标准响应,建议使用这个方法处理标准返回值. 通知 用来显示会自动消失的通知. 消息 用来给用户显示消息框(对话框). UI Block和Busy 用来为用户输入锁…
内嵌资源文件 介绍 创建内嵌文件 xproj/project.json形式 csproj形式 添加内嵌资源管理器 使用内嵌视图 使用内嵌资源 ASP.NET Core 配置 忽略文件 重写内嵌文件 介绍 ABP提供了一种简单的方式在web应用中使用内嵌Razor视图(.cshtml文件)和其他资源(css,js,img...files).你可以使用这个特征创建包含UI功能的plugins/modules. 创建内嵌文件 首先,我们要创建一个文件并标记它为嵌入资源.任何程序集都可以包含嵌入资源.p…
导航 创建菜单 注册导航提供者 显示菜单 每一个网络应用都会有一些菜单用来在pages/screens之间导航.ABP提供了通用的基础设施来创建并显示菜单. 创建菜单 应用可以由不同的模块组成,每一个模块都有自己的菜单项.为了定义菜单项,我们需要创建一个继承自NavigationProvider的类. 假定,我们有一个如下所示的主菜单: Tasks Reports Administration User management Role management 这里,Administration菜单…
本地化 介绍 应用程序语言 本地化源 XML文件 注册XML本地化源 JSON文件 注册JSON本地化源 资源文件 自定义源 当前语言是如何决定的 ASP.NET Core ASP.NET MVC 5.x 获取一个本地化文本 在服务端 在MVC控制器 在MVC视图 在Javascript 格式化参数 默认本地化源 扩展本地化源 获取语言 最佳实践 介绍 任何应用程序都会包含至少一种语言.许多的应用程序都包含多种语言.ABP提供了灵活的本地化系统. 应用程序语言 首要的事情是声明支持哪种语言.在模…
ASP.NET MVC 视图 介绍 AbpWebViewPage基类 介绍 ABP通过Abp.Web.Mvc nuget包集成到MVC视图.你可以如往常一样创建正常的MVC视图. AbpWebViewPage基类 ABP提供了AbpWebViewPage,它定义了一些有用的属性和方法.如果你使用启动模板创建的工程,那么你所有的views都自动从这个基类继承. AbpWebViewPage定义了L方法用于本地化,IsGranted方法用于授权,IsFeatureEnabled和GetFeature…
SwaggerUI集成 介绍 ASP.NET Core 安装Nuget包 配置 测试 ASP.NET 5.x 安装Nuget包 配置 测试 介绍 在它的网站上:“...使用Swagger可用的API,你将获得可交互的文档.客户端SDK生成和可发现的能力”. ASP.NET Core 安装Nuget包 在你的网站上安装Swashbuckle 6.x nuget包. 配置 在Startup.cs的ConfigureServices方法中添加Swagger的配置代码: public IServiceP…
OData集成 介绍 安装 安装Nuget包 设置模块依赖 配置实体 创建控制器 配置 示例 获取实体列表 Request Response 获取单个实体 Request Response 使用导航属性获取单个实体 Request Response 查询 Request Response 创建新实体 Request Response 获取元数据 Request Response 示例工程 介绍 在odata.org中OData定义为“一种开放协议允许使用简单或标准的方式创建和消费可查询和可交互的…
审计日志 介绍 关于IAuditingStore 配置 通过特性启用/禁用 注意事项 介绍 维基百科:“审计追踪(也称为审计日志)是与安全相关的按时间先后的记录.记录集合.记录的目的地和源,提供一系列活动的纪实证据,这些活动可能在任何时刻影响一个特定操作.过程或事件.” ABP提供了基础设施自动记录应用所有的交互.它可以记录方法调用的调用者和参数. 基本上,保存的字段有:相关的tenant id,调用者user id,调用者service name(调用方法的类),调用者method name,…
特征管理 介绍 关于IFeatureValueStore 特征类型 Boolean特征 Value特征 定义特征 基本特征属性 其他特征属性 特征层级 检查特征 使用RequiresFeature特性 RequiresFeature特性注意点 使用IFeatureChecker IsEnabled GetValue 客户端 IsEnabled GetValue 特征管理器 版本注意事项 介绍 大多数的Saas(多租户)应用有不同的版本(包),不同的版本有不同的特征.因此,他们可以给他们的租户(客…
授权 介绍 关于IPermissionChecker 定义权限 检查权限 使用AbpAuthorize特性 AbpAuthorize特性注意点 抑制授权 使用IPermissionChecker 在Razor视图 客户端(Javascript) 权限管理 介绍 几乎所有的企业应用都在一定程度上使用授权.在应用中,授权用来检查用户是否允许执行一些特定的操作.ABP定义了一个基础的权限设施来实现授权. 关于IPermissionChecker 授权系统使用IPermissionChecker来检查权…
校验数据传输对象 校验简介 使用数据标注 自定义校验 禁用校验 标准化 校验简介 应用的输入首先应该被校验.输入可以是用户的也可以是其他应用的.在一个web应用中,校验通常实现两次:客户端和服务端.客户端校验是为了用户体验.最好现在客户端校验表单并显示给用户无效的字段.但是,服务端校验要更紧要且不可避免的. 服务端校验一般在应用服务或控制器实现(通常,所有的服务从展示层获得数据).应用服务方法应该先检查(校验)输入再使用.ABP提供了良好的基础设施来自动校验应用的输入: 所有的应用服务方法 所有…