👉 This application is part of the Payroll Engine.
The Payroll Engine API supports the Open API specification and describes the interface to the Swagger tool. The document REST Service Endpoints document describes the available endpoints.
Payroll Engine swagger.json
In the first 1.0 release of the REST API, no version header is required in the HTTP request. For future version changes, the HTTP header X-Version with the version number must be present.
The Payroll REST API supports HTTP requests in JSON
format.
To run the backend server, the web host must support the execution of .NET Core applications. For local development, IIS Express serves as the host in two execution variants:
- CLI dotnet command using the command inside the binary folder:
start "" dotnet PayrollEngine.Backend.Server.dll --urls=https://localhost:44354/
- Visual Studio solution
PayrollEngine.Backend.sln
using the debugger.
The server configuration file Backend.Server\appsetings.json
contains the following settings:
Setting | Description | Default |
---|---|---|
StartupCulture |
The culture of the backend process (string) | System culture |
LogHttpRequests |
Log http requestd to log file (bool) | false |
InitializeScriptCompiler |
Initialize the script compiler to reduce first run time (bool) | false |
DbTransactionTimeout |
Database transaction timeout (timespan) | 10 minutes |
DbCommandTimeout |
Database command timeout (seconds) | 2 minutes |
WebhookTimeout |
Webhook timeout (timespan) | 1 minute |
Serilog |
Serilog settings | file and console log with Serilog |
FunctionLogTimeout |
Timeout for tracking long function executions (timespan) | off |
AssemblyCacheTimeout |
Timeout for cached assemblies (timespan) | 30 minutes |
VisibleControllers |
Name of visible API controllers (string[]) 1) 2) | all |
HiddenControllers |
Name of hidden API controllers (string[]) 1) 2) | none |
1) Wildcard support for *
and ?
2) HiddenControllers
setting cannot be combined with VisibleControllers
setting
It is recommended that you save the application settings within your local User Secrets.
Under Windows, the backend server stores its logs in the system folder %ProgramData%\Backend\logs
.
The business logic defined by the business in C# is compiled into binary files (assemblies) by the backend using Roslyn. This procedure has a positive effect on the runtime performance, so that even extensive calculations can be performed sufficiently quickly. At runtime, the backend keeps the assemblies in a cache. To optimize memory usage, unused assemblies are periodically deleted (application setting AssemblyCacheTimeout
).
- OData queries
- Database Management
- Developer Guidelines