![]() |
VOOZH | about |
dotnet add package Sidub.Messaging.Host.SignalR --version 1.0.14
NuGet\Install-Package Sidub.Messaging.Host.SignalR -Version 1.0.14
<PackageReference Include="Sidub.Messaging.Host.SignalR" Version="1.0.14" />
<PackageVersion Include="Sidub.Messaging.Host.SignalR" Version="1.0.14" />Directory.Packages.props
<PackageReference Include="Sidub.Messaging.Host.SignalR" />Project file
paket add Sidub.Messaging.Host.SignalR --version 1.0.14
#r "nuget: Sidub.Messaging.Host.SignalR, 1.0.14"
#:package Sidub.Messaging.Host.SignalR@1.0.14
#addin nuget:?package=Sidub.Messaging.Host.SignalR&version=1.0.14Install as a Cake Addin
#tool nuget:?package=Sidub.Messaging.Host.SignalR&version=1.0.14Install as a Cake Tool
This repository contains the messaging SignalR host for Sidub Messaging. It provides functionality to facilitate the messaging implementation on an Azure serverless SignalR service.
Azure serverless SignalR consists of an isolated Azure Function and an Azure SignalR service in serverless mode. The Azure Function is responsible for negotiation between clients and defining the messaging hubs, while the Azure SignalR service is responsible for managing the connections and broadcasting messages.
This package supports the creation of the creation of messaging hubs within the isolated Azure Function.
The Azure SignalR messaging service is dependent upon Azure infrastructure; while infrastructure may be manually created, it is recommended to use the provided Sidub Messaging application available on the Azure Marketplace. By deploying this application, the necessary Azure SignalR, Function, Storage, and other resources will be created automatically.
See https://azuremarketplace.microsoft.com/ for more information.
In order to utilize the library functionality, we must register the required
services within the Azure Function. This is done by calling the
AddSidubSignalRServer method on the IFunctionsWorkerApplicationBuilder
object.
We must additionally configure the required options classes, such as the
MessageServerOptions and AuthenticationOptions classes. These classes
contain the necessary configuration for the messaging service and the
authentication service, respectively.
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults((context, builder) =>
{
builder.Services.Configure<MessageServerOptions>(context.Configuration.GetSection(nameof(MessageServerOptions)));
builder.AddSidubSignalRServer();
})
.ConfigureServices((context, services) =>
{
services.Configure<AuthenticationOptions>(context.Configuration.GetSection(nameof(AuthenticationOptions)));
services.AddApplicationInsightsTelemetryWorkerService();
services.ConfigureFunctionsApplicationInsights();
})
.Build();
host.Run();
A messaging hub is a C# class that defines a messaging endpoint. Multiple endpoints can be defined within a single Azure Function.
To define a messaging hub, simply inherit from the MessagingHub class and
decorate the class with the MessagingHubAttribute attribute. The attribute
requires a unique name for the hub.
[MessagingHub("Chatroom")]
public class ChatroomHub : MessagingHub
{
public ChatroomHub(IOptionsSnapshot<MessageServerOptions> options, IMessagingHubConnectionStore connectionStore, ILoggerFactory loggerFactory)
: base(options, connectionStore, loggerFactory)
{
}
}
This project is licensed under a proprietary license. For details, see https://sidub.ca/licensing or the LICENSE.txt file.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.