При запуске сервера SignalR собственного хоста я могу транслировать сообщения, если я не использую, например, HubConfiguration
, трансляция сообщения работает нормально, используя следующие
// SelfHost
public class SelfHostStartUp
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
но перестает работать при использовании этого
// SelfHost
public class SelfHostStartUp
{
public void Configuration(IAppBuilder app)
{
var config = new HubConfiguration
{ EnableJSONP = false,
EnableDetailedErrors = true,
Resolver = new DefaultDependencyResolver()
};
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(config);
}
}
Событие на стороне сервера (вне SignalRHub):
private void button1_Click(object sender, EventArgs e)
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<SignalRHub>();
hubContext.Clients.All.SendMessageTest("Hello");
}
На стороне клиента:
hubConnection = new HubConnection(ipAddressAndPort);
hubConnection.StateChanged += HubConnection_StateChanged;
hubConnection.TraceLevel = TraceLevels.All;
hubConnection.TraceWriter = new EventLogTraceWriter(eventLog1);
hubProxy = hubConnection.CreateHubProxy("SignalRHub");
hubProxy.On<string>("SendMessageTest", message =>
Debug.WriteLine($"{message}")
);
Нет ошибок и сервер, кажется, отправляет сообщение, но клиент ничего не получает. Мне нужно установить HubConfiguration, чтобы кто-нибудь помог мне определить, почему это не работает?