"ModuleImageInfo4":"<a href='/images/example-module-img.png' download> Download a sample cover image </a>",
"AreYouSureToDeleteImage":"Are you sure you want to delete this image?"
"AreYouSureToDeleteImage":"Are you sure you want to delete this image?",
"CompactPercentage":"Compact Percentage",
"CompactPercentageDescription":"Percentage of cache entries to remove during compaction (1-100)",
"Settings":"Settings",
"MaxSizeOfInMemoryCache":"Max Size Of In Memory Cache",
"MaxSizeOfInMemoryCacheInfo":"Gets or sets the maximum size of the memory cache.",
"SizeOfTriggerAutoCompact":"Size Of Trigger Auto Compact",
"SizeOfTriggerAutoCompactInfo":"Gets or sets the size threshold that triggers auto-compaction. When the cache size exceeds this value, auto-compaction will be performed",
@ -21,6 +21,15 @@ Find `UseSqlServer()` call in *YourProjectName*DbContextFactory.cs inside the `.
> Depending on your solution structure, you may find more `UseSqlServer()` calls that needs to be changed.
## EnableLegacyTimestampBehavior
Please enable the `Npgsql.EnableLegacyTimestampBehavior` in `PreConfigureServices` method of your EF Core module and `DbContextFactory(IDesignTimeDbContextFactory)` class.
See https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic
## Change the Connection Strings
PostgreSql connection strings are different than SQL Server connection strings. So, check all `appsettings.json` files in your solution and replace the connection strings inside them. See the [connectionstrings.com](https://www.connectionstrings.com/postgresql/) for details of PostgreSql connection string options.
@ -270,7 +270,7 @@ Distributed cache service provides an interesting feature. Assume that you've up
### IDistributedCacheSerializer
`IDistributedCacheSerializer` service is used to serialize and deserialize the cache items. The default implementation is the `Utf8JsonDistributedCacheSerializer` class that uses `IJsonSerializer` service to convert objects to [JSON](../../json-serialization.md) and vice verse. Then it uses UTC8 encoding to convert the JSON string to a byte array which is accepted by the distributed cache.
`IDistributedCacheSerializer` service is used to serialize and deserialize the cache items. The default implementation is the `Utf8JsonDistributedCacheSerializer` class that uses `IJsonSerializer` service to convert objects to [JSON](../../json-serialization.md) and vice verse. Then it uses UTF8 encoding to convert the JSON string to a byte array which is accepted by the distributed cache.
You can [replace](./dependency-injection.md) this service with your own implementation if you want to implement your own serialization logic.
A simple CRUD application to show basic principles of developing an application with ABP. The same sample was implemented with different technologies and different modules:
## Publish the Application(s) as IIS sub-application
If your MVC application is a sub-application, you need to set the `BaseUrl` property of `AbpThemingOptions` to the sub-application’s path. The `BaseUrl` is used to configure the `base` element in the `head` section of the layout page.
```csharp
public void ConfigureServices(IServiceCollection services)
{
Configure<AbpThemingOptions>(options =>
{
options.BaseUrl = "/myapp/";
});
}
```
```html
<html>
<head>
<basehref="/myapp/"/>
...
</head>
<body>
...
</body>
</html>
```
For Blazor applications, you can to set the `base` tag in the `App.razor` file instead of configure `AbpThemingOptions`.
## How to get stdout-log
If your application is running on IIS and getting errors like `502.5, 500.3x`, you can enable stdout logs to see the error details.