Я пытаюсь отправить сообщение из консольного приложения ac # в мой ASP.NET Core Hub.
Сервер работает, но когда я пытаюсь отправить сообщение в концентратор, я получаю следующее ожидание:
Возникло исключение: System.InvalidOperationException в Microsoft.AspNet.SignalR.Client.dll Произошло необработанное исключение типа «System.InvalidOperationException» в Microsoft.AspNet.SignalR.Client.dll Соединениене установлено.
Я не знаю, почему клиент не подключен. Я также попытался установить соединение следующим образом:
connection.Start (). Wait ();
Но тогда в выводе «Клиент подключен» никогда не будет исключено!
Сервер
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
// register middleware for SignalR
app.UseSignalR(routes =>
{
// the url most start with lower letter
routes.MapHub<TestHub>("/hub");
});
}
HubClass
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
namespace CoreSignalRServer.Hubs
{
public class TestHub : Hub
{
public void HelloMethod(String line)
{
System.Diagnostics.Debug.Write(line);
}
}
}
Клиент
static void Main(string[] args)
{
Console.WriteLine("Client started!");
HubConnection connection = new HubConnection("http://localhost:44384/hub");
IHubProxy _hub = connection.CreateHubProxy("TestHub");
connection.Start();
Console.WriteLine("Client connected!");
string line = null;
while ((line = System.Console.ReadLine()) != null)
{
_hub.Invoke("HelloMethod", line).Wait();
}
}