Я установил концентратор SignalR для связи между сервером и клиентом.Код на стороне хаб-сервера хранится в классе Hooking.cs.Я хочу иметь возможность вызывать метод, определенный в Hooking.cs, чтобы позволить мне транслировать сообщения любым подключенным клиентам из любой точки моего приложения.Кажется, что новый экземпляр Hooking.cs создается для каждого вызова клиент / сервер, поэтому я надеялся, что смогу использовать что-то вроде
var hooking = new Hooking();
hooking.Test();
с методом Test (), определенным в Hooking.cs, такие как
public static void Test() {
Clients.test()
}
и с клиентской стороны javascript
var hooking = $.connection.hooking;
hooking.test = function() { alert("test worked"); };
$.connection.hub.start()
К сожалению, это не так просто, так как клиенты не являются статичными, поэтому не доступны изстатический метод.
Просматривая исходный код SignalR, я натолкнулся на метод, который выглядел многообещающе, Hubs.Invoke(string hubName, string method, params object[] args)
, поэтому я надеюсь, что смогу использовать что-то вроде Hubs.Invoke("Hooking", "Test")
, но не могу заставить его работать.
Любая помощь с этим будет очень признателен