成都网站建设设计

将想法与焦点和您一起共享

如何分析ABP设置管理

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

红花岗网站建设公司创新互联,红花岗网站设计制作,有大型网站制作公司丰富经验。已为红花岗成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的红花岗做网站的公司定做!

ABP的设置管理。

开始

如何分析ABP设置管理

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

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

如何分析ABP设置管理

无论是配置文件还是这种代码形式的配置,都是程序层面的修改;有些配置不太适合这样做,比如这里的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"]);

}

......

}

}

前端设置界面:

如何分析ABP设置管理

下面可以随便修改下设置,进行测试:  如何分析ABP设置管理

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


新闻名称:如何分析ABP设置管理
本文网址:http://chengdu.cdxwcx.cn/article/pjooip.html