diff --git a/docs/en/CLI.md b/docs/en/CLI.md index e0eede9241..cb16fb2897 100644 --- a/docs/en/CLI.md +++ b/docs/en/CLI.md @@ -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`: Specifies 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`: Specifies 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. diff --git a/docs/en/Local-Event-Bus.md b/docs/en/Local-Event-Bus.md index 81c0c5a171..5c5d967f5f 100644 --- a/docs/en/Local-Event-Bus.md +++ b/docs/en/Local-Event-Bus.md @@ -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` 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) diff --git a/docs/zh-Hans/Local-Event-Bus.md b/docs/zh-Hans/Local-Event-Bus.md index 7a842a9e98..ebdb3f20a6 100644 --- a/docs/zh-Hans/Local-Event-Bus.md +++ b/docs/zh-Hans/Local-Event-Bus.md @@ -211,6 +211,14 @@ namespace AbpDemo * 对于 EF Core, 他们在 `DbContext.SaveChanges` 发布. * 对于 MongoDB, 在你调用仓储的 `InsertAsync`, `UpdateAsync` 或 `DeleteAsync` 方法发布(因为MongoDB没有更改追踪系统). + +#### AbpEntityChangeOptions + +`AbpEntityChangeOptions`类中有一个`PublishEntityUpdatedEventWhenNavigationChanges`选项,默认值为`true`。 +如果将其设置为`false`,则当导航属性更改时,将不会发布`EntityUpdatedEventData`事件。 + +> 此选项仅用于EF Core + ## 另请参阅 * [分布式事件总线](Distributed-Event-Bus.md) \ No newline at end of file diff --git a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs index 768a9ba171..8b59282cf1 100644 --- a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs +++ b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs @@ -76,14 +76,15 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems ConnectMethod.Invoke(this, Array.Empty()); } - protected virtual async Task ConnectAsync(CancellationToken token = default) + protected virtual async ValueTask 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 (ValueTask)ConnectAsyncMethod.Invoke(this, new object[] { token })!; } public byte[]?[] GetMany( diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js index 61dead22b4..afac70c9f4 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js @@ -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) }); diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.html b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.html index 8054133a76..bd7c35ac84 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.html +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.html @@ -173,4 +173,4 @@ > } - + \ No newline at end of file diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts index 9f802c8283..6b0b03ccf0 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts @@ -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';