Table of Contents

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:

  1. Start RGF.Demo.IDP with the SelfHost profile and verify that it is available at https://localhost:11900.
  2. Configure Visual Studio with multiple startup projects for the Server-side Application solution:
    • Application.Api: Start with the https profile.
    • Application: Start with the IIS Express profile.
  3. 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.

See also