¿Existe un pequeño ejemplo de una aplicación de consola o winform que use signalR para enviar un mensaje a un concentrador .net? He probado los ejemplos de .net y he mirado el wiki, pero no me tiene sentido la relación entre el concentrador (.net) y el cliente (aplicación de consola) (no pude encontrar un ejemplo de esto). ¿La aplicación solo necesita la dirección y el nombre del concentrador para conectarse?
¿Si alguien pudiera proporcionar un pequeño fragmento de código que muestre que la aplicación se conecta a un concentrador y envía "Hola mundo" o algo que recibe el concentrador .net?
PD. Tengo un ejemplo de chat de concentrador estándar que funciona bien, si trato de asignarle un nombre de concentrador en Cs, deja de funcionar, es decir, [HubName ("prueba")], ¿sabe el motivo de esto?
Gracias.
Código actual de la aplicación de consola.
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.");
}
});
}
Servidor Hub. (espacio de trabajo de proyecto diferente)
public class Chat : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
}
Wiki de información para esto es http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-net-client