I heve installed the NuGet package Westwind.Globalization.AspnetCore31, applied the changes to Startup.cs, appsettings.json and added the zipfile resources to my project.
When I fire up the project in my browser (http://localhost:1123/LocalizationAdmin/index.html) I can see the nice GUI. When I click Create Table, I just see a small yellow notification stating that an unhandled error occurred. Looking under the hood I find this reply from the server:
{"message":"An unhandled error occurred.","isError":true,"detail":null,"errors":null}
The database user has permission to create tables (or even create a new database).
I can't find any place to put a breakpoint on the server. Nothing is logged to System.Diagnostics.Trace or Debug and the eventlog is also empty.
Is there any way I can view the error details?
Never mind, found the source of confusion. I had added the correct connectionstring to DbResourceConfiguration.json as well as in appsettings.json.
But I had blindly copied this to my startup.cs:
```csharp
services.AddWestwindGlobalization(opt => { // the default settings comme from DbResourceConfiguration.json if exists // you can override the settings here, the config you create is added // to the DI system (DbResourceConfiguration)
// Resource Mode - from Database (or Resx for serving from Resources)
opt.ResourceAccessMode = ResourceAccessMode.DbResourceManager; // .Resx
// Make sure the database you connect to exists
opt.ConnectionString = "example that overwites any config";
// Database provider used - Sql Server is the default
opt.DataProvider = DbResourceProviderTypes.SqlServer;
// The table in which resources are stored
opt.ResourceTableName = "localizations";
opt.AddMissingResources = false;
opt.ResxBaseFolder = "~/Properties/";
// Set up security for Localization Administration form
opt.ConfigureAuthorizeLocalizationAdministration(actionContext =>
{
// return true or false whether this request is authorized
return true; //actionContext.HttpContext.User.Identity.IsAuthenticated;
});
});
Obviously it overrides all configuration!
It overrides the values you update. The configuration is first read from the config file (or other source) then passed into the configuration function...
You should be standard ASP.NET Core logging errors for errors that occur on the server if you're running in Kestrel, or you have logging enabled in your application. The globalization lib doesn't do any explicit logging but most errors are likely to be database errors that will be triggered by the built-in log support in the framework.
+++ Rick ---