Solace Core Schema Registry SERDES for .NET. This includes the following: - Abstract SERDES classes for Serializer and Deserializer - Schema Resolver Interface and Implementation - Schema resolution by resolver stategy - Common configuration for resolver and SERDES - Support for Cached Schemas For more information please look at https://docs.solace.com/Solace-PubSub-Messaging-APIs/dotNet-API/net-api-home.htm.
Install
| Product | Versions |
|---|---|
| .NET Standard |
README
Solace Schema Registry SERDES Core for .NET
Core abstractions and common infrastructure for Solace Schema Registry serialization/deserialization libraries. This package provides the foundational components that enable format-specific SERDES implementations.
Overview
This is a foundational library that provides core abstractions and infrastructure for schema-based serialization and deserialization in Solace messaging systems. It is designed to be extended by format-specific implementations rather than used directly in applications.
Features
- Abstract Serializer/Deserializer Base Classes: Common functionality and patterns for implementing format-specific serializers and deserializers
- Schema Resolution Framework: Flexible schema resolution system with pluggable strategies
- Registry Client Integration: HTTP client for Solace Schema Registry API communication
- Artifact Reference Resolution: Strategy pattern for resolving schema artifacts and references
- Configuration Management: Standardized configuration system for SERDES components
- Extensible Architecture: Designed for implementing custom serialization formats
Core Components
Abstract Base Classes
AbstractSerializer<Schema, T>: Base class for implementing async serializersAbstractDeserializer<Schema, T>: Base class for implementing async deserializers
Schema Resolution
ISchemaResolver<S, T>: Interface for resolving schemas by artifact reference or record dataISchemaParser<S, T>: Interface for parsing format-specific schemasIArtifactReferenceResolverStrategy<T, S>: Strategy pattern for artifact reference resolution
Data Contracts
IRecord<T>: Represents serialized record data with metadataIMetadata: Contains schema metadata and resolution informationIArtifactReference: Represents a reference to a schema artifact
Registry Client
The package includes an HTTP client for communicating with the Solace Schema Registry API, providing access to registry operations.
Installation
Install the package from NuGet:
dotnet add package Solace.SchemaRegistry.Serdes.Core
Or via Package Manager Console:
Install-Package Solace.SchemaRegistry.Serdes.Core
Usage
This package is intended for library authors creating format-specific serialization implementations. For application developers, use one of the format-specific packages:
Solace.SchemaRegistry.Serdes.Avro- Apache Avro serializationSolace.SchemaRegistry.Serdes.JsonSchema- JSON Schema serialization
Key Interfaces
ISchemaResolver<S, T>: Resolves schemas by artifact reference or record dataISchemaParser<S, T>: Parses format-specific schemasIArtifactReference: Represents a reference to a schema artifactIRecord<T>: Represents serialized record dataIMetadata: Contains schema metadata and resolution information
Configuration
The package provides base configuration classes and properties for schema resolution:
SchemaResolverProperties: Configuration for schema resolution componentsBaseProperties: Base configuration management functionality
Architecture
The Core package follows a layered architecture with clear separation of concerns:
- Serialization Layer: Abstract base classes for serializers and deserializers
- Schema Resolution Layer: Pluggable schema resolution and parsing
- Registry Client Layer: HTTP client for registry communication
- Strategy Layer: Pluggable strategies for artifact reference resolution
Dependencies
- Microsoft.Kiota.Bundle: For HTTP client functionality
- Solace.Serdes: Core Solace serialization abstractions
Requirements
- .NET Standard 2.0 or higher
- C# 7.3 or later
Documentation
For detailed documentation and examples, visit Solace Documentation.
License
Licensed under the Solace Community License, Version 1.0. See LICENSE for details.
Support
For questions and support, please visit the Solace Community or refer to the official Solace documentation.
Copyright 2026 Solace Corporation. All rights reserved.
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.