This project contains a .NET stanard Client SDK for Azure Blockchain Workbench.
You can interact with a Workbench instance via this SDK
- Polly.NET (https://github.com/App-vNext/Polly) a .NET resiliency library with exponential retry backing
- Currently, the library is used to handle TaskCancelledExceptions or timeouts from the server.
- Singleton Implementation - just include the library in your project and reference it from anywhere
- Thread-safe: only a single HttpClient is used
- Event Handlers you can subscribe to:
- For expired access tokens (so you can refresh and get a new one)
- When Exceptions are thrown
- Exception handling - JsonException, TaskCancelledException, HttpRequestException
- Generic GET and POST methods with C# Generics
There are two parameters that can be set on the Gateway API: CLIENT_API_TIMEOUT and POLLY_RETRY_COUNT. The first one is for setting the default timeout interval of the HttpClient. The second is the number of times an API call will retry after at TaskCancelledException before giving up.
Using the .NET ADAL library for Xamarin.iOS, Xamarin.Android, or .NET - authenticate with the Active Directory and retrieve then authentication token.
Workbench doesn't require an API Key. It knows who the request is coming from by simply including the authentication token from ADAL in the authorization request header.
For Xamarin Apps (Xamarin.Forms, Xamarin.iOS and Xamarin.Android) please follow this tutorial: https://blog.xamarin.com/put-adal-xamarin-forms/
Once you obtain the authentication token, use the following method to set it on the Gateway API instance:
GatewayApi.Instance.SetAuthToken(<yourTokenAsString>)
Refer to the swagger documentation of the Workbench API on getting started. Method names will be similar to the api documentation