Flexmonster Data Server can be embedded into your project as a DLL – a separate flexible module. The advantages of using a DLL instead of the console application are the following:
.exe
file.For a quick start with Flexmonster Data Server as a DLL, have a look at the sample .NET Core application with the Data Server embedded.
To embed Flexmonster Data Server into an existing or new .NET Core application, follow this guide: Referencing the Data Server as a DLL.
Flexmonster.DataServer.Core.dll
is a flexible solution that can be used in many ways. To demonstrate how the Data Server can be used, we created an ASP.NET Core application with a custom server using Flexmonster.DataServer.Core.dll.
The application repository contains a solution file DemoDataServerCore.sln
, so the sample can be opened and launched with Visual Studio.
To run the sample project, you need Microsoft .NET Core 3.1 or higher. Get it here if it’s not already installed on your machine.
To start the sample application from the console, run the following commands:
cd DemoDataServerCore
dotnet restore
dotnet run
To see the result, open http://localhost:5000/
in the browser.
With Flexmonster.DataServer.Core.dll
, you can restrict access to the data to certain roles using the server filter. On the http://localhost:5000/
page, there is a pivot table and a drop-down menu. Select a role from the menu to see how it affects the data shown in Flexmonster Pivot.
To see how the server-side filtering is implemented in the sample server, refer to the FlexmonsterAPIController.cs file.
To learn more about the server filter, read through the Implementing the server filter guide.
This custom server also demonstrates how to load data from a custom data source. To work with a custom data source, implement an appropriate parser for the data. An example of a custom parser is shown in this CustomParser.cs file.
In the sample project, the data shown on the grid is from the custom parser, but "csv"
, "json"
, and "database"
parser types can also be used. To make the server use multiple parsers, add a new object to the "DataSources"
property in the appsettings.json
file. For example:
"DataSources": [
{
"Type": "custom",
"Indexes": {
"custom-index": null
}
},
{
"Type": "json",
"Indexes": {
"json-index": {
"Path": "data.json"
}
}
],
To learn more about the custom parser, see the Implementing the custom parser guide.
You may be interested in the following articles: