Есть ли небольшой пример приложения консоли или winform, использующего signalR для отправки сообщения в концентратор .net? Я пробовал примеры .net и смотрел вики, но для меня не имеет смысла отношения между хабом (.net) и клиентом (консольное приложение) (не смог найти примера этого). Приложению нужны только адрес и имя хаба для подключения?
Если бы кто-то мог предоставить небольшой лакомый кусочек кода, показывающий, что приложение подключается к концентратору и отправляет «Hello World» или что-то, что получает концентратор .net ?.
PS. У меня есть стандартный пример чата хаба, который работает хорошо. Если я попытаюсь присвоить ему имя хаба в Cs, он перестанет работать, например [HubName ("test")], знаете ли вы причину этого?
Благодарю.
Текущий код консольного приложения.
static void Main(string[] args)
{
//Set connection
var connection = new HubConnection("http://localhost:41627/");
//Make proxy to hub based on hub name on server
var myHub = connection.CreateProxy("chat");
//Start connection
connection.Start().ContinueWith(task =>
{
if (task.IsFaulted)
{
Console.WriteLine("There was an error opening the connection:{0}", task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Connected");
}
}).Wait();
//connection.StateChanged += connection_StateChanged;
myHub.Invoke("Send", "HELLO World ").ContinueWith(task => {
if(task.IsFaulted)
{
Console.WriteLine("There was an error calling send: {0}",task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Send Complete.");
}
});
}
Хаб-сервер. (другое рабочее пространство проекта)
public class Chat : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
}
Информационная вики для этого: http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-net-client