1. #1
    Membre actif
    Profil pro
    Inscrit en
    juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 661
    Points : 241
    Points
    241

    Par défaut MSMQ: Problème pour créer ou tester l'existence d'une queue sur un serveur distan

    Bonjour,

    Je viens de me lancer avec MSMQ et le C#.

    En local cela fonctionne très bien mais une fois que j'attaque un serveur distant je rencontre deux problèmes, j'ai regardé un peu partout sur le net mais je n'ai rien trouvé.

    Je n'arrive pas a créer une queue à distance alors que en local oui:

    MessageQueue rmQ = new MessageQueue

    L'envoie d'un message fonctionne à condition que je crée moi même la queue manuellement sur le serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MessageQueue rmQ = new MessageQueue                            
     ("FormatName:DIRECT=OS:brrdss05\\private$\\test");
    rmQ.Send("Haaaa")
    Mais la création d'une queue en code sur le même serveur ne fonctionne pas

    J'ai essayé différentes instructions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MessageQueue.Create("FormatName:DIRECT=OS:brrdss05\\private$\\test2", true);
    Ou
    MessageQueue.Create("brrdss05\\private$\\test2", true);
    MessageQueue.Create("\\\\brrdss05\\private$\\test2", true);
    Même chose pour le teste d'une queue si elle existe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
           if (MessageQueue.Exists("FormatName:DIRECT=OS:brrdss05\\private$\\test"))
                    Console.WriteLine("ok");
                else
                    Console.WriteLine("pasok");
     
                Console.ReadLine();
    {"Impossible de déterminer si une file d'attente avec le nom de format spécifié existe."}

    Avez-vous une solution ou une expérience à ce sujet ?

    D'avance merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 661
    Points : 241
    Points
    241

    Par défaut

    Bon bé les méthodes Create et Exists ne peuvent pas être utilisées pour atteindre une machine distante

    Vais regarder du côté WCF

  3. #3
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    janvier 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Bénin

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : janvier 2018
    Messages : 1
    Points : 2
    Points
    2

    Par défaut Problème avec MSMQ et C#

    Bonjour,

    Je viens de me lancer avec MSMQ et le C#.

    J'ai deux application . Une qui permet l'envoie des messages dans la file d'attente et la seconde qui reçois des messages depuis la file d'attente .

    Au début tout marchait bien et j'arrive à envoyer et recevoir les messages de la files .

    Mais là plus rien ne marche . Ne processus se déroule correctement mais les messages n’apparaît pas dans la file d'attente ce qui est bizarre (je précise que je en suis en local et que la file d'attente crée est une file d'attente transactionnelle)

    J'ai créer d'autres applications et essayer d’interagir avec d'autres files d'attentes que j'ai aussi créées mais même chose , les messages n’apparaît pas dans la file d'attente.

    Je comprend plus rien car ça fait depuis des messages que je cherche cela.

    Aidez moi s'il vous plait . Merci.

    Application 1 qui envoie les messages à la file.

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Messaging;
    using System.Configuration;
     
    namespace ApplicationSendMsgInQueue
    {
        public class MyNewQueue
        {
            static void Main(string[] args)
            {
                MyNewQueue newQueue = new MyNewQueue();
     
                newQueue.SendMessageToQueue();
     
                Console.WriteLine("L'employer a été bien enregistré");
     
                Console.ReadLine();
     
            }
     
            public void SendMessageToQueue()
            {
     
                Employees employees = new Employees();
     
     
                Employees[] employeesTable = new Employees[6];
                employeesTable[0] = new Employees { EmployerID =Guid.NewGuid().ToString() , EmployeesName = "YESSOUFOU", EmployeesLastName = "Mohamed", EmployeesAddress = "15 rue Paris 75019", EmailEmployees = "modyes599@hotmail.com" };
                employeesTable[1] = new Employees { EmployerID =Guid.NewGuid().ToString(), EmployeesName = "YESSOUFOU", EmployeesLastName = "Mourad", EmployeesAddress = "15 rue Paris 75018", EmailEmployees = "modyes199@hotmail.com" };
                employeesTable[2] = new Employees { EmployerID =Guid.NewGuid().ToString(), EmployeesName = "YESSOUFOU", EmployeesLastName = "Adam", EmployeesAddress = "15 rue Paris 75017", EmailEmployees = "modyes99@hotmail.com" };
                employeesTable[3] = new Employees { EmployerID =Guid.NewGuid().ToString(), EmployeesName = "YESSOUFOU", EmployeesLastName = "Ziadath", EmployeesAddress = "15 rue Paris 75016", EmailEmployees = "modyes299@hotmail.com" };
                employeesTable[4] = new Employees { EmployerID =Guid.NewGuid().ToString(), EmployeesName = "YESSOUFOU", EmployeesLastName = "Manzidath", EmployeesAddress = "15 rue Paris 75015", EmailEmployees = "modyes399@hotmail.com" };
                employeesTable[5] = new Employees { EmployerID =Guid.NewGuid().ToString(), EmployeesName = "YESSOUFOU", EmployeesLastName = "Fawaz", EmployeesAddress = "15 rue Paris 75014", EmailEmployees = "modyes499@hotmail.com" };
     
     
     
                MessageQueue Myqueue = new MessageQueue(ConfigurationManager.AppSettings["MessageQueuePath"]);
     
     
                for (int i = 0; i < (employeesTable.Length); i++)
                {
                    Myqueue.Send(employeesTable[i]);
     
                }
     
     
                return;
     
     
            }
        }
    }

    Le chemin d'accès de la file d'attente est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <appSettings>
        <add key="MessageQueuePath" value="FormatName:Direct=OS:.\PRIVATE$\mafilesdatentes"/>
      </appSettings>

    Application 2 qui reçoit des messages depuis la fille

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Messaging;
    using System.Configuration;
     
    namespace ApplicationReadMsgToQueue
    {
        public class Program
        {
            static void Main(string[] args)
            {
     
     
                Console.WriteLine("Liste des enmployés envoyer dans la file d'attente");
     
                MessageQueue MyQueue;
                MyQueue = new MessageQueue(ConfigurationManager.AppSettings["MessageQueuePath"]);
     
                MyQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(ApplicationReadMsgToQueue.Employees) });
     
                try
                {
                    Message[] myMessage = MyQueue.GetAllMessages();
     
     
     
                    foreach (Message msg in myMessage)
                    {
     
                            Employees myEmployees = (Employees)msg.Body;
     
                            Console.WriteLine("EmployeesID:" + myEmployees.EmployerID.ToString());
     
                            Console.WriteLine("EmployeesName:" + myEmployees.EmployeesName.ToString());
     
                            Console.WriteLine("EmployeesLastName:" + myEmployees.EmployeesLastName.ToString());
     
                            Console.WriteLine("EmployeesAddress:" + myEmployees.EmployeesAddress.ToString());
     
                            Console.WriteLine("EmployeesEmail:" + myEmployees.EmailEmployees.ToString());
     
                            Console.WriteLine("******************************************");
     
                     }
                    Console.ReadLine();
                }
                catch (MessageQueueException)
                {
     
                }
                catch(InvalidOperationException e)
                {
                    Console.WriteLine(e.Message);
                }
     
                return;  
     
            }
        }
    }

    En espérant recevoir une réponse. Je vous remercie d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester l'Existence d'une PS sur FB
    Par akli_agha dans le forum SQL
    Réponses: 3
    Dernier message: 09/11/2007, 16h01
  2. Réponses: 2
    Dernier message: 04/10/2007, 11h37
  3. Tester l'existence d'une page sur Internet
    Par breumtch dans le forum Access
    Réponses: 3
    Dernier message: 01/02/2007, 17h51
  4. [FTP] Tester l'existence d'un fichier sur un serveur FTP
    Par hedgehog dans le forum Fichiers
    Réponses: 17
    Dernier message: 18/08/2006, 13h13
  5. Réponses: 3
    Dernier message: 23/01/2006, 15h40

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