Bonjour,

Suite à mon autre post, je clarifie un peu ma question et mon problème.

J'ai l'architecture suivante :
Nom : 64801220150214175056.png
Affichages : 248
Taille : 15,1 Ko

J'ai donc un client connecté à un webservice ASP classique.
J'ai également sur le même serveur qui contient le webservice une application tierce.
Il faut que quand le client appelle le webservice, l'application tierce soit informée.

J'ai donc une simple méthode dans le webService :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
[WebMethod]
        public string sendMessageToThirdApp(string message)
        {
            if (Bridge.sendMessageToThirdApp != null) Bridge.sendMessageToThirdApp(message);
            return "Message \"" + message + "\" sent to third app!";
        }
Cette méthode donc exécute la méthode sendMessageToThirdApp qui est un delegate dans une DLL externe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace BridgeClassLibrary
{
    public class Bridge
    {
        public delegate string SendMessage(string message);
        public static SendMessage sendMessageToThirdApp;
    }
}
Ce delegate est valorisé dans l'application tierce :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Bridge.sendMessageToThirdApp = delegate(string message) {
				debugText.text = message;
				return "it's work!";
		};
Bien sur, sans aucune surprise, le delegate valorisé dans l'application tierce n'est pas executé par le webservice, car ils sont dans deux processus différents.
Il faudrait que dans la classe Bridge du dll qu'il y'ai une méthode qui permette au webservice de récupérer l'instance de Bridge (du moins le pointeur de la variable sendMessageToThirdApp, Bridge n'étant pas instancié).

Est-ce qu'il existe une méthode simple pour arriver à ce résultat ?

Merci beaucoup !