99 votes

Exemple d'application SignalR Console

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

1voto

Jim Points 2316

La façon correcte de le faire maintenant (fin 2013) semble être d'utiliser la méthode suivante OWIN auto-hébergement .

0voto

Damian Points 917

Checkout BasicChat.SelfHost qui est l'un des SignalR/Échantillons sur GitHub.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X