両方のハブが同じアプリケーションでホストされている場合は、次のものを使用できるはずです。
GlobalHost.ConnectionManager.GetHubContext<HubB>()
ここでの秘訣は、HubB上の特定のクライアントにメッセージを送信したいように見えることです。問題は、Context.ConnectionId
HubAの場合はHubBの場合と同じIDにならないことです。したがって、実行する必要があるのは、ConnectionIdからHubAとHubBの両方のある種の論理ユーザーへのある種のマッピングを行うことです。次に、「ギャップを埋める」必要がある場合は、HubAのConnectionIdによってHubAから論理ユーザーを検索し、HubBのConnectionIdを見つけます。その時点で、コードは次のようになります。
public void DoSomething(string test)
{
// Get HubB's ConnectionId given HubA's ConnectionId (implementation left to you)
string hubBConnectionId = MapHubAConnectionIdToHubBConnectionId(Context.ConnectionId);
// Get the context for HubB
var hubBContext = GlobalHost.ConnectionManager.GetHubContext<HubB>();
// Invoke the method for just the current caller on HubB
hubBContext.Clients[hubBConnectionId].messageHandler(test);
}