Skip to content

README .NET datalayer.provider.subscription

This .NET sample provides nodes, publishing subscribed values on demand, instead of getting polled in sample interval. This is recommended for providers having costly OnRead() implementations.

The provider has to implement the new Methods OnSubscribe(), OnUnsubscribe() and IProviderSubscription.Publish() to notify any changes for subscriptions, holding the nodes (adresses), which are subscribed by various clients.

IMPORTANT:

The sample creates and registers all nodes individually, which is recommended for small to medium sized set of nodes to handle. If you're dealing with a large set of nodes (big data provider) or any dynamic node hierarchy, we recommend to use a virtual provider approach, listening just to any wildcarded address ( e.g. myRoot/**) and using self-managed virtual nodes, just returned in OnBrowse() method, which is more efficient.

Please read the Best Practise section in common .NET documentation for more details and recommended samples.

Introduction

The sample demonstrates how to provide nodes to ctrlX Data Layer and how to publish changes on demand to ctrlX Data Layer. Also a complex type encoded by FlatBuffers is provided.

Description

The sample demonstrates

  • How to provide nodes to ctrlX Data Layer and publish changes on demand to ctrlX Data Layer.

Prerequisites

Please read the common .NET docs here, first.

Debug and Run

Launch the app with the debugger attached by pressing F5.

Build and Install

  1. Launch Visual Studio Code
  2. Click on the Remote Explorer from the menu.
  3. Choose Open Folder.
  4. Open the directory datalayer.provider.subscription.
  5. Build and install snap as described here.
  6. Checkout ctrlX Data Layer web frontend (Settings | Data Layer)
  7. Check the output using Diagnostics:

  8. Login into your ctrlX

  9. Navigate to Diagnostics -> Logbook
  10. Click Settings on the right top corner
  11. Enable Show system messages
  12. Navigate to Filter -> Units and check your snap.sdk-net-provider-subscription.app.service
  13. Now you should the see the app output diagnostics.
  14. Press Refresh to update.

  15. If you have root permissions, you can also watch the output on any ssh console with the command:

```bash sudo snap logs sdk-net-provider.subscription.app -f | more

Install the App

Login into ctrlX and install the App (Apps).

Gratulations - We're finished - Let's start coding

Support

Developer Community

Please join the Developer Community

SDK Forum

Please visit the SDK Forum

Issues

If you've found an error in these sample, please file an issue

License

SPDX-FileCopyrightText: Bosch Rexroth AG

SPDX-License-Identifier: MIT