Skip to content

OrleansHubLifetimeManager incorrectly resolves hub name for hubs with typed clients. #129

@JRWinter1

Description

@JRWinter1

When using a hub with a typed client, e.g. MyHub <IMyHubClient> , the ctor of OrleansHubLifetimeManager will resolve the hub name to be MyHubClient.

The offending code -> https://github.com/OrleansContrib/SignalR.Orleans/blob/master/src/SignalR.Orleans/OrleansHubLifetimeManager.cs#L37. Why does this check for GenericTypeArguments? At a guess, I would assume this may have been for older versions of signalR that I am not familiar with.

Resolving the hub name in the lifetime manager is not consistent with the hub context code -> https://github.com/OrleansContrib/SignalR.Orleans/blob/master/src/SignalR.Orleans/Core/HubContext.cs#L16.
This results in a mismatch between the OrleansHubLifetimeManager calls and the hub context calls. I.e. you will end up with separate grain activations when adding to groups and publishing to groups.

It would also be nice to keep up to date with the signalr library and support strongly typed hub contexts (https://docs.microsoft.com/en-us/aspnet/core/signalr/hubcontext?view=aspnetcore-6.0#inject-a-strongly-typed-hubcontext).
I would be happy to start contributing to this library if I this is something people would like.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions