com.EBS.Common.Domain.Shared
1.6.7.14
dotnet add package com.EBS.Common.Domain.Shared --version 1.6.7.14
NuGet\Install-Package com.EBS.Common.Domain.Shared -Version 1.6.7.14
<PackageReference Include="com.EBS.Common.Domain.Shared" Version="1.6.7.14" />
<PackageVersion Include="com.EBS.Common.Domain.Shared" Version="1.6.7.14" />
<PackageReference Include="com.EBS.Common.Domain.Shared" />
paket add com.EBS.Common.Domain.Shared --version 1.6.7.14
#r "nuget: com.EBS.Common.Domain.Shared, 1.6.7.14"
#:package com.EBS.Common.Domain.Shared@1.6.7.14
#addin nuget:?package=com.EBS.Common.Domain.Shared&version=1.6.7.14
#tool nuget:?package=com.EBS.Common.Domain.Shared&version=1.6.7.14
EBS.Common
I.Configuration
1.application.json
{
"App": {
"SelfUrl": "https://xxx.xx",
"CorsOrigins":"AllowAll,https://xxx.xx",
"AppUrlOptions":{
"RedirectAllowedUrls":"https://xxx.xx,https://yyy.yy",
"Applications": {
"MVC": {
"RootUrl": "http://xx:8080",
"Urls": {
"Abp.Account.PasswordReset": "account/reset-password"
}
},
"Angular": {
"RootUrl": "http://xx:8080",
"Urls": {
"Abp.Account.PasswordReset": "account/reset-password"
}
}
},
},
"OpenIddictServerSetting": {
"IsEnableAutherServer": true,
"AccessTokenLifetime": 60,
"RefreshTokenLifetime": 20_160,
"SigningCertificate": {
"Path": "xxx\\SigningCertificate.pfx",
"Password": "anypass",
"DistinguishedName":"CN=EBS Signing Certificate",
"KeyStorageFlags": "MachineKeySet, PersistKeySet, Exportable",//X509KeyStorageFlags
"ExpireDay": 3_650,
"KeySizeInBits": 4_096
},
"EncryptionCertificate": {
"Path": "xxx\\EncryptionCertificate.pfx",
"Password": "anypass",
"DistinguishedName":"CN=EBS Encryption Certificate",
"KeyStorageFlags": "MachineKeySet, PersistKeySet, Exportable",//X509KeyStorageFlags
"ExpireDay": 3_650,
"KeySizeInBits": 4_096
}
}
},
"ConnectionStrings": {
"Encrypted.Default": "xxx",
"Encrypted.HangfireConnection": "xxx",
"Encrypted.connect-name": "xxx"
},
"Settings":{
"IsEnableHangfireServer": true,
"BackgroundJob":{
"IsEnable": true,
"JobPollPeriod": 30000,
"MaxJobFetchCount": 200
},
"MappedConnections": {
"connect-name":["map-name-1","map-name-2"]
},
"DistributedLock":{
"KeyPrefix":"EbsApplication"
},
"DistributedCache":{
"KeyPrefix":"EbsApplication"
},
"DataProtection":{
"ApplicationName":"ebsApplication",
"PersistKeys":"ebs-service-Protection-Keys",
"PathFolder": string?
},
"ForwardedHeadersOptions": {
"ForwardedHeaders": null, // Docker/k8s prefer= "XForwardedFor, XForwardedProto, XForwardedHost" => .well-known/openid-configuration.jwks_uri = https ; use "app.UseForwardedHeaders();"
"ClearKnownNetworksProxies":null// true => .well-known/openid-configuration.jwks_uri = https ; use "app.UseForwardedHeaders();"
},
"TokenX509MfaOption": {
"MaxTimeoutSecond": 90
}
},
"Redis":{
"IsEnabled": false,
"Encrypted.Configuration":"xxxxx", // or "Configuration"
"ApplicationName":"ebsApplication",
"IsSentinel": false,
"ServiceName": string?
},
"WebPages":{
"ButtonResourceName":"IShopEBS"
},
"Swagger": {
"IsActive": true,
"IsWithOAuth": true,
"LastIsAll": true,
"XmlFileName": "abc.xml",
"Scopes": {
"IShopEBS": "EBS API"
},
"Docs":{
"DocName1":{ // is Microsoft.OpenApi.Models.OpenApiInfo
"Title": "All Api"
}
}
},
"AuthServer":{
"SwaggerClientId":"SwaggerDev",
"Authority":"https://xxxx.com"
},
"Minio":{
"Endpoint":"xxx",
"AccessKey": "[Optional]",
"SecretKey": "[Optional]",
"HealthChecks": true,
"Secure": true,
"Encrypted.AccessKey": "[Optional]",
"Encrypted.SecretKey": "[Optional]"
},
"ApplicationFileOptions": {
"key": "value"
},
"Templates":{
"Items" :{
"key1":{
"StoreName": "abc"
}
}
},
"Integrations":{
"VMG":{
"BrandNameDefault":"EBS",
"ApiSendSMS":"https://api.brandsms.vn/api/SMSBrandname/SendSMS",
"Token":xxx,
"MaxLengthMessage": 612
}
}
}
II.Modules and Handlers
Use AttachTokens
Sử dụng để attach sso-id vào header request , không cần add access_token khi gọi api từ web/host đến authserver và service
- AuthServer DependsOn AttachTokenAuthServerModule
- Web/Host DependsOn AttachTokenServiceModule
CommonApplicationModule
Config redis, distributed cache, distributed lock, data protection, forwarded headers, token x509 mfa option...
CommonWebModule
Config swagger, authserver, cors...
DefaultHtml2PdfRenderModule
Generate Html → pdf, email body... Use IHtml2PdfRender, ISignHandler
- Set CertContainer
- Default Folder BankEncrypt
- Copy file in font to Environment.CurrentDirectory/Exports/Fonts
- Text-Template in ContentRootPath/Exports/host/text-template/<template-name>/<language>.html ; Default en.html
EBSMinioBlobModule
Store Blob on Minio
- Imp IFileStore
- Config IOptions<ContainerTypeDefaultOption>
GenerateEmailingHandler
Generate email body and attach file (pdf, excel, word...) to email
- Impl + Add Service: IEmailingStoreRepository
- Impl + Add service: IGenerateEmailingGetFileDataHandler
- context.Services.AddTransient<IGenerateEmailingHandler, GenerateEmailingHandler>();
EbsMailGunApiModule
Send mail via MailGun API replace IEmailSender= MailGunApiEmailSender
EInvoiceVnptModule
Use e-Invoice by VNPT provider
IEInvoiceVnptHandler
GenerateCodeModule
Generate code (no-duplicate) for entity. Use
1. IGenerateCodeManager,
2. ICacheShowroomNameHandler
VMGSmsModule
Send sms via VMG provider
IVMGConnectHandler
ExportExcelWorker
Export data to excel file Use:
1. IExportExcelWorker
III.Services
TextTemplateDefinition
Use
1. IRepository<TextTemplateDefinition, Guid> repository,
2. IRepository<TextTemplateDefinitionHistory, Guid> repositoryHis,
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.FileProviders.Embedded (>= 8.0.4)
- Volo.Abp.Ddd.Domain.Shared (>= 8.3.3)
- Volo.Abp.Validation (>= 8.3.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on com.EBS.Common.Domain.Shared:
| Package | Downloads |
|---|---|
|
com.EBS.Common.Application.Contracts
common application |
|
|
com.EBS.Common.Domain
Encrypted connect string |
GitHub repositories
This package is not used by any popular GitHub repositories.