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 :

dynamic type avec .net Remoting


Sujet :

C#

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 1
    Par défaut dynamic type avec .net Remoting
    Bonjour,
    j'essaie d'utiliser .net Remoting avec le nouveau type dynamc du .net 4.0.
    Voici un extrait de mon code qui
    - charge une assembly contenant les types utilisés par le client du Remoting
    - essaie de faire un appel au serveur


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    Assembly ass = Assembly.LoadFile(assemblyPath);
    dynamic crm =  ass.CreateInstance("CrmDll.CrmTiersFactory");
    dynamic client = crm.getCrmClient(companyId);
    TcpChannel tcp = new TcpChannel();
    ChannelServices.RegisterChannel(tcp, false);
    string url = "ServerUrl";
    TypeConverter tc = TypeDescriptor.GetConverter(ass.GetType("CrmDll.IRemoteOperation"));
    dynamic remoteOperation = tc.ConvertFrom( Activator.GetObject
                    (
                    ass.GetType("CrmDll.IRemoteOperation")
                    , url
                    ));
    L'interface IRemoteOperation est dans la Dll chargée mais à l'éxécution, j'ai sur la dernière ligne de mon extrait l'exception NotSupportedException
    Conversion de ReferenceConverter impossible à partir de System.MarshalByRefObject.
    si quelqu'un a une idée, je suis preneur

    Bonne journée

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //ici cette instance CrmTiersFactory est elle une instance de classe ou bien 
    //pointe sur une interface?
    //Il s'agit ici de creer une instance de classe precise. 
    dynamic crm =  ass.CreateInstance("CrmDll.CrmTiersFactory");
    //ici idem.
    dynamic remoteOperation = tc.ConvertFrom( Activator.GetObject
                    (
                    ass.GetType("CrmDll.IRemoteOperation")
                    , url
                    ));
    La presence d'interface dans les definitions de type ne sert pas à faire des appels sur elle mais à controler que la classe à instancier possede les types appropries....(difference par rapport à COM)......

    bon code....

Discussions similaires

  1. Débuter avec .NET Remoting en C# ou VB.NET
    Par ram-0000 dans le forum Réseaux
    Réponses: 3
    Dernier message: 13/04/2015, 16h36
  2. Impression avec NET REMOTING
    Par ahmedkolsi dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/11/2009, 17h18
  3. Réponses: 14
    Dernier message: 11/06/2009, 22h08
  4. Petit soucie de sérialisation avec .net remoting
    Par teddyalbina dans le forum C#
    Réponses: 2
    Dernier message: 22/03/2008, 21h34

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