千家信息网

如何分析ABP设置管理

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,如何分析ABP设置管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。ABP的设置管理。开始首先定义了一个FileOpti
千家信息网最后更新 2025年12月02日如何分析ABP设置管理

如何分析ABP设置管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

ABP的设置管理。

  开始

  首先定义了一个FileOptions类,其中包含了几个配置,然后在需要的地方中注入IOptions就可以使用这些信息了。

  当然,模块启动时可以做一些配置修改,比如:

  无论是配置文件还是这种代码形式的配置,都是程序层面的修改;有些配置不太适合这样做,比如这里的AllowedMaxFileSize和AllowedUploadFormats,它们应该在应用界面上,可以让管理员自行修改。下面就来改造一下程序。

  定义设置

  使用设置之前需要先定义它,不同的模块可以拥有不同的设置。

  modules\file-management\src\Xhznl.FileManagement.Domain\Settings\FileManagementSettingDefinitionProvider.cs:

  public class FileManagementSettingDefinitionProvider : SettingDefinitionProvider

  {

  public override void Define(ISettingDefinitionContext context)

  {

  /* Define module settings here.

  * Use names from FileManagementSettings class.

  */

  context.Add(new SettingDefinition(

  FileManagementSettings.AllowedMaxFileSize,

  "1024",

  L("DisplayName:FileManagement.AllowedMaxFileSize"),

  L("Description:FileManagement.AllowedMaxFileSize")

  )

  .WithProperty("Group1", "File")

  .WithProperty("Group2", "Upload")

  .WithProperty("Type", "number"),

  new SettingDefinition(

  FileManagementSettings.AllowedUploadFormats,

  ".jpg,.jpeg,.png,.gif,.txt",

  L("DisplayName:FileManagement.AllowedUploadFormats"),

  L("Description:FileManagement.AllowedUploadFormats")

  )

  .WithProperty("Group1", "File")

  .WithProperty("Group2", "Upload")

  .WithProperty("Type", "text")

  );

  }

  private static LocalizableString L(string name)

  {

  return LocalizableString.Create(name);

  }

  }

  以上代码定了了2个配置:AllowedMaxFileSize和AllowedUploadFormats,设置了它们的默认值、名称和详细说明。因为本项目使用了EasyAbp的SettingUi模块,所以会有一些Group1,Group2之类的字段,具体介绍可以参考Abp.SettingUi

  使用设置

  想读取设置信息,只需注入ISettingProvider即可。因为父类ApplicationService中已经注入,所以这里直接使用SettingProvider就好。获取到配置,然后就可以做一些逻辑处理,比如判断上传文件的大小和格式是否合法:

  public class FileAppService : FileManagementAppService, IFileAppService

  {

  ......

  [Authorize]

  public virtual async Task CreateAsync(FileUploadInputDto input)  郑州人流医院http://www.xasg120.net/

  {

  var allowedMaxFileSize = await SettingProvider.GetAsync(FileManagementSettings.AllowedMaxFileSize);//kb

  var allowedUploadFormats = (await SettingProvider.GetOrNullAsync(FileManagementSettings.AllowedUploadFormats))

  ?.Split(",", StringSplitOptions.RemoveEmptyEntries);

  if (input.Bytes.Length > allowedMaxFileSize * 1024)

  {

  throw new UserFriendlyException(L["FileManagement.ExceedsTheMaximumSize", allowedMaxFileSize]);

  }

  if (allowedUploadFormats == null || !allowedUploadFormats.Contains(Path.GetExtension(input.Name)))

  {

  throw new UserFriendlyException(L["FileManagement.NotValidFormat"]);

  }

  ......

  }

  }

  前端设置界面:

  下面可以随便修改下设置,进行测试:  

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

配置 管理 模块 不同 代码 信息 文件 界面 程序 帮助 分析 了了 合法 清楚 人流 内容 前端 医院 只需 名称 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 斯坦福大学 网络安全 吕梁网络技术参考价格 app 软件开发 工具 叶枫重生服务器我的世界网址 数据库员工表部门表 单位加强网络安全 西城区时代计算机软件开发价目表 软件开发企业符合小微利企业吗 重庆正规软件开发定制费用 存储软件开发工程师浪潮 奉化ios软件开发周期 服务器如何自动生成图片 免费攻击服务器软件 海南大学网络安全学科排名 点灯科技没有阿里云服务器 网络技术三级是抽一套题吗 数据库可视化分析技术 黑茶网络安全工程师 网络服务器所在地指的是什么 郑州市瑞庭网络技术有限公司 遥感影像如何导入地理数据库 cesium如何连接数据库 模型软件开发 阿里mqtt服务器是什么 数据库管理系统包含数据定义功能 数据库日期相减得到时间 监控服务器的http请求时间 数据库分离时进程 计算机网络技术wlan什么意思 深圳软件开发好学吗
0