Browse Source
Merge pull request #20004 from abpframework/auto-merge/rel-8-2/2765
Merge branch dev with rel-8.2
pull/20009/head
maliming
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with
34 additions and
12 deletions
docs/en/CLI.md
docs/en/Local-Event-Bus.md
docs/zh-Hans/Local-Event-Bus.md
framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs
modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js
npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.html
npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts
@ -131,7 +131,7 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--database-provider` or `-d` : Specifies the database provider. Default provider is `ef` . Available providers:
* `ef` : Entity Framework Core.
* `mongodb` : MongoDB.
* `--theme` : Specifes the theme. Default theme is `leptonx-lite` . Available themes:
* `--theme` : Specifi es the theme. Default theme is `leptonx-lite` . Available themes:
* `leptonx-lite` : [LeptonX Lite Theme ](Themes/LeptonXLite/AspNetCore.md ).
* `basic` : [Basic Theme ](UI/AspNetCore/Basic-Theme.md ).
* * *`module`**: [Module template ](Startup-Templates/Module.md ). Additional options:
@ -147,7 +147,7 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--database-provider` or `-d` : Specifies the database provider. Default provider is `ef` . Available providers:
* `ef` : Entity Framework Core.
* `mongodb` : MongoDB.
* `--theme` : Specifes the theme. Default theme is `leptonx-lite` . Available themes:
* `--theme` : Specifi es the theme. Default theme is `leptonx-lite` . Available themes:
* `leptonx-lite` : [LeptonX Lite Theme ](Themes/LeptonXLite/AspNetCore.md ).
* `basic` : [Basic Theme ](UI/AspNetCore/Basic-Theme.md ).
* * *`maui`**: .NET MAUI. A minimalist .NET MAUI application will be created if you specify this option.
@ -235,6 +235,13 @@ Pre-build events are published when you save changes to the database;
* For EF Core, they are published on `DbContext.SaveChanges` .
* For MongoDB, they are published when you call repository's `InsertAsync` , `UpdateAsync` or `DeleteAsync` methods (since MongoDB has not a change tracking system).
#### AbpEntityChangeOptions
There is a `PublishEntityUpdatedEventWhenNavigationChanges` option in the `AbpEntityChangeOptions` class with a default value of `true` .
If you set it to `false` , the `EntityUpdatedEventData<T>` will not be published when a navigation property changes.
> This option is only used for the EF Core.
## See Also
* [Distributed Event Bus ](Distributed-Event-Bus.md )
@ -211,6 +211,14 @@ namespace AbpDemo
* 对于 EF Core, 他们在 `DbContext.SaveChanges` 发布.
* 对于 MongoDB, 在你调用仓储的 `InsertAsync` , `UpdateAsync` 或 `DeleteAsync` 方法发布(因为MongoDB没有更改追踪系统).
#### AbpEntityChangeOptions
`AbpEntityChangeOptions` 类中有一个`PublishEntityUpdatedEventWhenNavigationChanges`选项,默认值为`true`。
如果将其设置为`false`,则当导航属性更改时,将不会发布`EntityUpdatedEventData< T > `事件。
> 此选项仅用于EF Core
## 另请参阅
* [分布式事件总线 ](Distributed-Event-Bus.md )
@ -76,14 +76,15 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
ConnectMethod . Invoke ( this , Array . Empty < object > ( ) ) ;
}
protected virtual async Task ConnectAsync ( CancellationToken token = default )
protected virtual async Value Task< IDatabase > ConnectAsync ( CancellationToken token = default )
{
if ( GetRedisDatabase ( ) ! = null )
var redisDatabase = GetRedisDatabase ( ) ;
if ( redisDatabase ! = null )
{
return ;
return redisDatabase ;
}
await ( Task ) ConnectAsyncMethod . Invoke ( this , new object [ ] { token } ) ! ;
return await ( Value Task< IDatabase > ) ConnectAsyncMethod . Invoke ( this , new object [ ] { token } ) ! ;
}
public byte [ ] ? [ ] GetMany (
@ -1,6 +1,12 @@
document . addEventListener ( 'DOMContentLoaded' , function ( event ) {
document . addEventListener ( "DOMContentLoaded" , function ( event ) {
setTimeout ( function ( ) {
window . clientName = document . getElementById ( "redirectButton" ) . getAttribute ( "cname" ) ;
window . location = document . getElementById ( 'redirectButton' ) . getAttribute ( 'href' ) ;
} , 3000 ) ;
var redirectButton = document . getElementById ( "redirectButton" ) ;
if ( ! redirectButton ) {
return ;
}
redirectButton . getAttribute ( "cname" ) ;
redirectButton . getAttribute ( "href" ) ;
} , 3000 )
} ) ;
@ -173,4 +173,4 @@
>< / i >
}
< / label >
< / ng-template >
< / ng-template >
@ -1,5 +1,5 @@
import { Validators } from '@angular/forms' ;
import { ConfigStateService , CurrentUserDto } from '@abp/ng.core' ;
import { ConfigStateService } from '@abp/ng.core' ;
import { getPasswordValidators } from '@abp/ng.theme.shared' ;
import { ePropType , FormProp } from '@abp/ng.components/extensible' ;
import { IdentityUserDto } from '@abp/ng.identity/proxy' ;