SuperSocket.Server.Abstractions
2.0.2-beta.1
See the version list below for details.
dotnet add package SuperSocket.Server.Abstractions --version 2.0.2-beta.1
NuGet\Install-Package SuperSocket.Server.Abstractions -Version 2.0.2-beta.1
<PackageReference Include="SuperSocket.Server.Abstractions" Version="2.0.2-beta.1" />
<PackageVersion Include="SuperSocket.Server.Abstractions" Version="2.0.2-beta.1" />
<PackageReference Include="SuperSocket.Server.Abstractions" />
paket add SuperSocket.Server.Abstractions --version 2.0.2-beta.1
#r "nuget: SuperSocket.Server.Abstractions, 2.0.2-beta.1"
#:package SuperSocket.Server.Abstractions@2.0.2-beta.1
#addin nuget:?package=SuperSocket.Server.Abstractions&version=2.0.2-beta.1&prerelease
#tool nuget:?package=SuperSocket.Server.Abstractions&version=2.0.2-beta.1&prerelease
Release Note: SuperSocket 2.0.2-beta.1
Overview
SuperSocket 2.0.2-beta.1 is a beta release that enhances the flexibility of pipeline filters by removing the constraint requiring a default constructor. This change significantly improves dependency injection support for pipeline filters across the framework.
Key Improvements
Enhanced Dependency Injection Support for Pipeline Filters
- Removed the constraint requiring pipeline filters to have a parameterless constructor (
new()
constraint) - This change enables pipeline filters to receive dependencies through constructor injection
- Modified all relevant method signatures across the framework to support this new flexibility
Affected Components
The new()
constraint was removed from the following interfaces and methods:
In
ISuperSocketHostBuilder<TReceivePackage>
interface:UsePipelineFilter<TPipelineFilter>()
method
In
HostBuilderExtensions
class:AsSuperSocketHostBuilder<TReceivePackage, TPipelineFilter>()
method
In
MultipleServerHostBuilder
class:AddServer<TReceivePackage, TPipelineFilter>()
methodAddServer<TSuperSocketService, TReceivePackage, TPipelineFilter>()
method
In
SuperSocketHostBuilder
class and static methods:UsePipelineFilter<TPipelineFilter>()
methodCreate<TReceivePackage, TPipelineFilter>()
methods
Compatibility
This change is backward compatible with existing code. Pipeline filters with default constructors will continue to work as before, but now you can also create pipeline filters that require dependencies to be injected.
Example Usage
With this change, you can now create pipeline filters that require dependencies:
public class MyPipelineFilter : IPipelineFilter<TextPackageInfo>
{
private readonly ILogger<MyPipelineFilter> _logger;
private readonly IConfiguration _configuration;
// Constructor with dependencies - now supported!
public MyPipelineFilter(ILogger<MyPipelineFilter> logger, IConfiguration configuration)
{
_logger = logger;
_configuration = configuration;
}
// Implementation details...
}
// Register and use the filter
hostBuilder.AsSuperSocketHostBuilder<TextPackageInfo, MyPipelineFilter>();
Release Status
This is a beta release intended for testing. Please report any issues you encounter on the GitHub repository.
Contributors
- Kerry Jiang
Links
- GitHub Repository: https://github.com/kerryjiang/SuperSocket
- Documentation: https://docs.supersocket.net/
- NuGet Packages: https://www.nuget.org/packages?q=SuperSocket
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- SuperSocket.Connection (>= 2.0.2-beta.1)
- SuperSocket.Primitives (>= 2.0.2-beta.1)
- SuperSocket.ProtoBase (>= 2.0.2-beta.1)
-
net7.0
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- SuperSocket.Connection (>= 2.0.2-beta.1)
- SuperSocket.Primitives (>= 2.0.2-beta.1)
- SuperSocket.ProtoBase (>= 2.0.2-beta.1)
-
net8.0
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- SuperSocket.Connection (>= 2.0.2-beta.1)
- SuperSocket.Primitives (>= 2.0.2-beta.1)
- SuperSocket.ProtoBase (>= 2.0.2-beta.1)
-
net9.0
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- SuperSocket.Connection (>= 2.0.2-beta.1)
- SuperSocket.Primitives (>= 2.0.2-beta.1)
- SuperSocket.ProtoBase (>= 2.0.2-beta.1)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on SuperSocket.Server.Abstractions:
Package | Downloads |
---|---|
SuperSocket.Server
SuperSocket server hosting library providing the core server implementation with session management, connection handling, and integration with the .NET dependency injection system and configuration framework. |
|
SuperSocket.Command
SuperSocket command pattern library providing a structured request processing framework with command discovery, dependency injection support, and flexible command dispatching based on message keys. |
|
SuperSocket.Udp
SuperSocket UDP support library providing socket handling and implementation for building UDP-based networking applications. |
|
SuperSocket.SerialIO
Serial IO support for SuperSocket |
|
SuperSocket.Kestrel
SuperSocket integration with ASP.NET Core Kestrel server, enabling SuperSocket to leverage Kestrel's high-performance networking stack with TLS support and HTTP/2 protocol capabilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.0.2 | 618 | 7/10/2025 |
2.0.2-beta.1 | 265 | 5/25/2025 |
2.0.1 | 1,616 | 5/24/2025 |
2.0.0 | 1,257 | 4/20/2025 |
2.0.0-beta.31 | 526 | 4/2/2025 |
2.0.0-beta.30 | 898 | 1/26/2025 |
2.0.0-beta.29 | 161 | 1/14/2025 |
2.0.0-beta.28 | 1,245 | 11/2/2024 |
2.0.0-beta.27 | 2,671 | 9/30/2024 |
2.0.0-beta.26 | 1,015 | 8/31/2024 |
2.0.0-beta.25 | 684 | 8/21/2024 |
2.0.0-beta.24 | 1,465 | 6/29/2024 |
2.0.0-beta.23 | 1,442 | 6/1/2024 |
2.0.0-beta.22 | 1,339 | 5/25/2024 |
2.0.0-beta.21 | 562 | 5/4/2024 |
2.0.0-beta.20.448 | 1,371 | 4/14/2024 |