Sentinet Extensibility
Sentinet can be extended in many ways, and using many different types of extensibility points:
Regular Microsoft ASP.NET extensibility points.
Regular Microsoft WCF extensibility points (see Behaviors and Policies for WCF Behaviors and WCF Bindings).
Sentinet .NET extensibility API.
This chapter describes Sentinet .NET Extensibility API as the primary and most effective way to extend Sentinet API Management using Sentinet Extensibility Components.
A Sentinet extensibility component is a .NET assembly that hosts some custom code in a form of a .NET class (type) that implements a component-specific Sentinet .NET API interface. An interface that must be implemented is defined in the common Nevatech.Vsb.Repository.dll assembly. A custom .NET extensibility component can use entire .NET Framework and even third-party .NET assemblies. Custom code is dynamically loaded from the custom assembly using standard Microsoft .NET activation technique. For a custom component to be available for Sentinet it must be:
Registered in the Sentinet Administrative Console
Physically deployed with the Sentinet .NET application that will use the component
Registering and deploying custom component is a one-time process, after which component can be reused by all or any Sentinet entities (ex: Service Version, Access Rule, etc.) that it was designed for.
Sentinet installed with Complete Setup or Custom Setup with Samples feature includes a number of Visual Studio projects in C:\Program Files\Nevatech\Sentinet\Samples folder.
There are five areas where Sentinet can be extended with custom components and five projects provide sample projects for each extensibility area, which are:
Custom Access Rule Expressions area (CustomAccessRuleExpression sample)
Custom Pipeline Components area (CustomMessagePipelineComponent sample)
Custom Alert Actions area (CustomAlertHandler sample)
Custom Routers area (CustomRouter sample)
Custom Sentinet Agent Task area (CustomTask sample)
Note
Custom Sentinet Agent Task is the only one that does not require registration of a custom extensibility component in the Sentinet Administrative Console. This is a Sentinet extensibility area that requires configuration only with the Agent’s Nevatech.Vsb.Agent.exe.config configuration file.
More details on registering and using of each extensibility component are described in this document in the relevant chapters, Custom Access Rules, Custom Pipeline Components, Custom Alert Actions and Custom Routers.