NaniSanthosh Ответов: 1

Системы.aggregateexception в mscorlib.dll в помощью SignalR


Привет,

Я хочу отправить данные с сервера на клиент(мое консольное приложение), который имеет соединение с моим "LocationHub". Я попытался сделать так, как описано в Примере по ссылке, но не получил никакого результата.

Что я уже пробовал:

Код на стороне клиента:
-------------------------
public class Provider
{
static void Main(string[] args)
{
var connection = new HubConnection("http://192.168.1.88:8044/");
var myHub = connection.CreateHubProxy("LocationHub");

//В этой строке выводится исключение: 'System.AggregateException ' in mscorlib.dll
connection.Start().Wait();
myHub.On("addMessage", myString =>
{
Console.WriteLine("This is client getting messages from server :{0}", myString);
});
myHub.Invoke("Chatter", System.DateTime.Now.ToString()).Wait();
Console.Read();
}
}


Код на стороне сервера:
-----------------------
class Program
{
static void Main(string[] args)
{
string url = "http://192.168.1.88:8044/";
using (WebApp.Start(url))
{
Console.WriteLine("Server running on {0}", url);
Console.ReadLine();
IHubContext context = GlobalHost.ConnectionManager.GetHubContext();
for (int i = 0; i < 100; i++)
{
System.Threading.Thread.Sleep(3000);
context.Clients.All.addMessage("Current integer value : " + i.ToString());
}
Console.ReadLine();
}
}
}
[HubName("LocationHub")]
public class LocationHub : Hub
{
public void Send(string platform, string message)
{
Clients.All.messageReceived(platform, message);
}
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}


Ошибка:
Выбрасывается исключение: "система.AggregateException ' in mscorlib.dll
Дополнительная информация: произошла одна или несколько ошибок.

Внутреннее исключение-это:
{"StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:\r\n{\r\n Cache-Control: private\r\n Date: Tue, 20 Dec 2016 09:09:06 GMT\r\n Server: Microsoft-IIS/10.0\r\n X-Powered-By: ASP.NET\r\n Content-Length: 4938\r\n Content-Type: text/html; charset=utf-8\r\n}"}



Каково лучшее решение для реализации этого...??
Как решить??

1 Ответов

Рейтинг:
2

Richard Deeming

В своем клиентском коде вы пытаетесь вызвать метод под названием "Chatter". Но в вашем серверном коде этот метод называется "отправить".

Кроме того, ваш клиент прослушивает уведомление под названием "addMessage", но ваш сервер отправляет уведомление под названием "messageReceived".

Руководство по API с помощью SignalR хабы ASP.NET - .Чистый клиент (на C#) | сайт ASP.NET [^]