Run and Initialize the Solution
At this point, the complete Server-side Application solution has all required application layers configured:
Solution
├── Application.Api
│ ├── RecroGrid Framework server runtime
│ ├── Backend API authentication
│ ├── Business logic
│ ├── Entity Framework
│ └── Database access
├── Application
│ ├── Blazor host
│ ├── OpenID Connect
│ ├── SessionAuth endpoints
│ └── API proxy
└── Application.Client
├── Interactive Blazor UI
├── Routes
└── RecroGrid Framework client integration
Local development addresses
Use the following local addresses so the application configuration and Visual Studio launch profiles remain aligned:
- Identity provider:
https://localhost:11900 - Backend API:
https://localhost:11913 - Blazor host:
https://localhost:44316
These addresses follow the RecroGrid Framework demo development topology.
Use the RecroGrid Framework demo identity provider
For local development, use the Duende IdentityServer project provided in RGF.Demo.IDP. Its predefined RGF.DemoApp client, redirect URI, API resource, scope, and development users are designed for the local configuration examples in this guide.
Clone or download the rgf-demo repository and start the IDP from:
IDP/RGF.Demo.IDP/src/RGF.Demo.IDP.csproj
The included SelfHost launch profile starts the identity provider at https://localhost:11900.
You can also start it from the repository root with:
dotnet run --launch-profile SelfHost --project IDP/RGF.Demo.IDP/src/RGF.Demo.IDP.csproj
Keep the identity provider running while starting and using the Server-side Application solution.
Configure the backend API launch profile
Create or update Application.Api/Properties/launchSettings.json with an HTTPS project profile that starts the API on https://localhost:11913:
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:8798",
"sslPort": 44311
}
},
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": false,
"applicationUrl": "https://localhost:11913",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": false,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
The https profile matches the RgfApi BaseUrl used by the Blazor host configuration.
Configure the Blazor host launch profile
Create or update Application/Properties/launchSettings.json so IIS Express serves the browser-facing application on https://localhost:44316:
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:49250/",
"sslPort": 44316
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
This address matches Recrovit:RecroGridFramework:API:ProxyBaseAddress in the host appsettings.json.
Start the applications
Start the local applications in this order:
- Start RGF.Demo.IDP with the
SelfHostprofile and verify that it is available athttps://localhost:11900. - Configure Visual Studio with multiple startup projects for the Server-side Application solution:
- Application.Api: Start with the
httpsprofile. - Application: Start with the
IIS Expressprofile.
- Application.Api: Start with the
- Start the Server-side Application solution from Visual Studio.
Application.Client is served by the Blazor host as part of the browser-facing application.
Verify the integrated request flow
When the solution is running, the request path follows the configured Server-side Application architecture:
Browser
↓
Blazor host
↓
API proxy
↓
Backend API
↓
Entity Framework
↓
Database
Sign in through the configured OpenID Connect provider and verify that the Blazor application reaches the backend API through the host-side proxy.
Complete the initial administrator sign-in
With AutoCreateUser set to true, sign in first with the account that should become the initial RecroGrid Framework administrator. When RgfIdentity does not yet contain any users, the first user automatically created by RecroSec is assigned the administrator role configured by AdministratorRoleName.
See RecroSec Configuration for the related settings.
Continue development
The complete solution is now ready for application-specific entities, business logic, forms, grids, filters, permissions, and other RecroGrid Framework features.