IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[Net Remoting] Object local + Events


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut [Net Remoting] Object local + Events
    Bonjour , je suis débutant en programmation et je developpe actuellement deux applications qui doivent communiquer entre elles (de manière bi directionnelle) au moyen de messages, et ce , sur le meme pc.

    Après beaucoup de recherches , j'ai vu que le .Net Remoting était conseillé , j'ai donc essayé de mettre en place cette solution mais j'ai quelques problemes.

    Tout d'abord le problème pour accéder à l'objet local sur le serveur, je ne vois pas comment faire.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
       static void Main(string[] args)
            {
                try
                {
                    RegisterChannel("SRPServer");
                        RemotingConfiguration.RegisterWellKnownServiceType(
                              typeof(remote),
                              "RemoteOperation",
                              WellKnownObjectMode.Singleton);
                    Console.WriteLine("Le serveur a démarré avec succés .... ");
                    Console.Read();
     
                }
     
     
                catch (Exception se)
                {
                    Console.WriteLine("Connect error : " + se);
                    Console.Read();
                    Thread.Sleep(2000);
     
                }
            }
     
     
         static void RegisterChannel(string name)
            {
     
                Hashtable properties = new Hashtable();
     
                properties.Add("name", name);
     
                properties.Add("portName", name);
     
                properties.Add("typeFilterLevel", "Full");
     
                IpcChannel channel = new IpcChannel(properties,
     
                    new BinaryClientFormatterSinkProvider(properties, null),
     
                    new BinaryServerFormatterSinkProvider(properties, null));
     
                ChannelServices.RegisterChannel(channel);
     
            }
    Donc là si j'ai tout compris , je register un channel pour communiquer , je publie un objet de type Remote , qui s'appellera RemoteOperation dans le mode Singleton.
    Mais après comment accéder a cet objet sur le serveur ?
    J'y arrive avec le client grâce a mgr = (Iremote.Iremote)Activator.GetObject(typeof(Iremote.Iremote ), "ipc://SRPServer/RemoteOperation"); , mais à quoi bon modifier un objet si il n'est utilisable que sur le client ?


    Mon deuxième problème se situe au niveau des evenements.
    J'aimerais pouvoir échanger des messages dans les 2 sens , et donc déclencher un événement lorsqu'une méthode est appellée par le serveur ou par le client.

    J'en demande beaucoup je sais mais je suis un peu perdu là


    Merci d'avance pour tout


    PS : Ha oui , si vous trouvez le .NET Remoting non approprié pour ce que je veux faire , n'hésitez pas a me le dire ^^ (J'ai notamment lu une doc sur le COM+ et le Message Queuing )

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut
    j'ai trouvé par hasard sur msdn un exemple en vb.net :
    http://msdn.microsoft.com/library/de...ublication.asp

    et pour ceux qui seraient dans le même cas que moi , la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
           static remote test = new remote();
            static void Main(string[] args)
            {
                try
                {
                    ObjRef test_ref;
                    RegisterChannel("SRPServer");
                    test_ref  = RemotingServices.Marshal(test, "RemoteOperation");
                    test.status_buffer = "A";
                    Console.WriteLine("Le serveur a démarré avec succés ... Objet ref :  " + test_ref.URI.ToString() );
                    Console.Read();
     
                    }
     
     
                catch (Exception se)
                {
                    Console.WriteLine("Connect error : " + se);
                    Console.Read();
     
                }
            }
    et donc ce sera l'objet test qui sera disponible au client ^^

    Par contre pour les événements je n'y arrive pas

Discussions similaires

  1. [C#][FW 2.0] Comment utiliser le .NET Remoting ?
    Par Mecano14 dans le forum C#
    Réponses: 7
    Dernier message: 22/02/2009, 13h28
  2. [VB.NET] plusieurs checkbox plusieurs events
    Par b_lob dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/05/2006, 12h23
  3. [.NET] Remoting
    Par kaff dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 31/03/2006, 18h17
  4. [.NET Remoting] Comment transferer un Dataset ?
    Par B.AF dans le forum Framework .NET
    Réponses: 2
    Dernier message: 30/12/2005, 22h34
  5. [CR10][ASP.NET] PB Impression locale
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/05/2004, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo