Existe-t-il un petit exemple d'une application console ou winform utilisant signalR pour envoyer un message à un hub .net ? J'ai essayé les exemples .net et j'ai regardé le wiki mais je ne comprends pas la relation entre le hub (.net) et le client (application console) (je n'ai pas pu trouver d'exemple de cela). L'application a-t-elle simplement besoin de l'adresse et du nom du hub pour se connecter ?
Si quelqu'un pouvait fournir un petit bout de code montrant l'application se connectant à un hub et envoyant "Hello World" ou quelque chose que le hub .net reçoit .
PS. J'ai un exemple de chat de concentrateur standard qui fonctionne bien, si j'essaie de lui attribuer un nom de concentrateur dans Cs, il cesse de fonctionner, par exemple [HubName("test")], connaissez-vous la raison de ceci ?
Merci.
Code d'application de la console actuelle.
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.");
}
});
}
Hub Server. (espace de travail du projet différent)
public class Chat : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
}
L'info Wiki pour cela est http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-net-client