NL.Serverless.AspNetCore.Template
5.1.0
dotnet new install NL.Serverless.AspNetCore.Template::5.1.0
NL.Serverless.AspNetCore
This repo provides code for hosting an AspNet Core App inside an Azure Function V3 HTTP Trigger with the new isolated worker.
Prerequisites
- Will to use the new isolated dotnet worker for functions (see the repo)
- .Net Core SDK >= 5.0.4
- Latest Azure Function Core Tools v3
npm install -g azure-functions-core-tools@3
Instructions
- Install the project template for dotnet and create a new project.
dotnet new --install NL.Serverless.AspNetCore.Template
dotnet new serverless-aspnetcore -n Your.New.ProjectName
- Happy coding your AspNet Core WebApp.
- Run the Azure Function hosting the web app
func host start -build
Deployment to Azure
Follow this instruction: https://github.com/Azure/azure-functions-dotnet-worker#create-the-azure-resources
Create an app setting within the function app.
The name of the setting should be
ASPNETCORE_TEST_CONTENTROOT_NAME_OF_YOUR_WEBAPP_ASSEMBLY
and point the value toC:\home\site\wwwroot\
Quirks
SignalR currently only works with Long Pooling. Either connect with this transport method client side or configure your Hubs to just support Long Pooling (see here).
Application Insights / Logs
In order to see the logs of the Asp.Net Core app inside the log stream of Application Insights from the functions app you need to add the following lines:
Add the package reference of
Microsoft.ApplicationInsights.AspNetCore
to the .csproj of your web app<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.17.0" />
Register the Applications Insights services in the
Statup.cs
of your web appservices.AddApplicationInsightsTelemetry();
Please note that Application Insights has it´s own logging levels configured in the appsettings.json
. You can find the documentation here.
Here is an example:
...
"Logging": {
"LogLevel": {
"Default": "Information"
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Information"
}
}
},
...
If you want to use another instance of Application Insights for the web app you need to add the Instrumation Key in the appsettings.json
:
...
"ApplicationInsights": {
"InstrumentationKey": "putinstrumentationkeyhere"
},
...
Samples
Host the ASP.NET Boilerplate sample in an Azure Function
Credits
The basic idea for this is from this repo: https://github.com/NicklausBrain/serverless-core-api
Thanks <a href="https://github.com/NicklausBrain">NicklausBrain</a>.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
5.1.0 | 745 | 8/26/2021 |
5.0.0 | 2,117 | 4/12/2021 |
3.0.11 | 516 | 1/30/2021 |
3.0.9 | 530 | 7/31/2020 |
3.0.8 | 471 | 7/8/2020 |
3.0.7.2 | 491 | 6/13/2020 |
3.0.7.1 | 547 | 5/25/2020 |
3.0.7 | 513 | 5/9/2020 |
3.0.5 | 503 | 3/20/2020 |
3.0.3 | 561 | 1/30/2020 |
3.0.2 | 544 | 1/12/2020 |
1.0.2 | 520 | 10/20/2019 |
1.0.1 | 511 | 10/17/2019 |
1.0.0 | 521 | 10/13/2019 |