device-simulation-dotnet/WebService
Peter Felts 2879f524b2
Jan 2020 dependency updates. (#368)
* Jan 2020 dependency updates.

* Updating docs to reference a specific version of Dotnet Core.

* Specifying a specific version of dotnet in the travis config file.
2020-01-08 14:12:04 -08:00
..
Auth Reliability improvements 2018-11-29 17:29:58 -08:00
Properties Add support for storing data in Azure Tables (#327) 2018-12-10 14:59:37 -08:00
Runtime Replay file APIs (#333) 2019-01-16 10:59:21 -08:00
v1 Integrate and merge replay feature to master (#338) 2019-01-18 14:30:29 -08:00
DependencyResolution.cs Add support for storing data in Azure Tables (#327) 2018-12-10 14:59:37 -08:00
Program.cs New logger & dependencies upgrade (#232) 2018-08-12 15:36:40 -07:00
README.md Performance improvements (#223) 2018-07-17 16:37:58 -07:00
Startup.cs Adding diagnostics instrumentation around CosmosDB failures and process termination. (#341) 2019-03-29 15:41:22 -07:00
WebService.csproj Jan 2020 dependency updates. (#368) 2020-01-08 14:12:04 -08:00
appsettings.ini Custom model send telemetry updates (#342) 2019-03-26 11:40:45 -07:00

README.md

Web service

ASP.NET Web API and Kestrel

The web service is built on ASP.NET Web API and hosted via Kestrel, i.e. IIS is not strictly required to run the service, although it would be possible if required. More information can be found here:

Guidelines

The web service is the microservice entry point. There might be other entry points if the microservice has some background agent, for instance to run continuous tasks like log aggregation, simulations, watchdogs etc.

The web service takes care of loading the configuration, and injecting it to underlying dependencies, like the service layer. Most of the business logic is encapsulated in the service layer, while the web service has the responsibility of accepting requests and providing responses in the correct format.

Conventions

  • Web service routing is defined by convention, e.g. the name of the controllers defines the supported paths.
  • The microservice configuration is defined in the appsettings.ini file stored in the WebService project