begin process at 2012 02 11 09:55:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

.NET

 > 

remoting icollection


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

remoting icollection

vendredi 6 janvier 2006 à 14:23:03 | remoting icollection

dieulapin

Bonjour,

J'essaye de faire du remoting en .net.
Je veux creer un objet activable de type icollection

voila comment j'ai procedé :
  • une classe Person
  • une classe RemoteCollection qui herite de MarshalByRef et qui Implemente ICollection avec une arraylist
  • une classe Persons qui est une collection de Person qui herite de RemoteCollection 
J'ai un fichier de configuration pour activer ( balise activated ) Person et Persons par tcp.

Voila lorsque je lance mon client  Person s'active bien mais pour Persons j'ai une exception qui est levé : "En raison de restriction de sécurité, le type System.Runtime.Remoting.ObjRef est inaccessible."

Si quelqu'un peu m'apporter des renseignement sur le remooting de collection?

Merci d'avance

************** Texte de l'exception **************
System.Runtime.Serialization.SerializationException: En raison de restrictions de sécurité, le type System.Runtime.Remoting.ObjRef est inaccessible. ---> System.Security.SecurityException: Échec de la demande.
   at System.Security.SecurityRuntime.FrameDescSetHelper(FrameSecurityDescriptor secDesc, PermissionSet demandSet, PermissionSet& alteredDemandSet)
   at System.Runtime.Serialization.FormatterServices.nativeGetSafeUninitializedObject(RuntimeType type)
   at System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(Type type)
   --- Fin de la trace de la pile d'exception interne ---

Server stack trace:
   at System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(Type type)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject(ParseRecord pr)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord pr)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage)
   at System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMessage(String objectUri, Stream inputStream, Boolean bStrictBinding, TypeFilterLevel securityLevel)
   at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Library.Contact.Persons.Add(Person person)

vendredi 6 janvier 2006 à 16:04:36 | Re : remoting icollection

Homerrrrr

Réponse acceptée !
Lorsque tu démarre ton objet coté serveur tu fais quelque chose du genre (en considérant un port de 1069) :

TcpChannel channel = new TcpChannel(1069);

Essaye en faisant :

BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

IDictionary prop = new Hashtable();
prop["bindTo"] = "127.0.0.1";
prop["port"] = 1069;

TcpChannel channel = new TcpChannel(prop, null, provider);

Ce qui change c'est surtout le fait de mettre le niveau de filtre en "full".
samedi 7 janvier 2006 à 15:50:38 | Re : remoting icollection

dieulapin

Merci beaucoup c'etait ca!!!
lundi 4 décembre 2006 à 18:14:52 | Re : remoting icollection

cyrille37

Merci,
Ce mail est précieux ;-)
J'ai eu le même problème.



mercredi 17 septembre 2008 à 12:24:30 | Re : remoting icollection

sidommou

Salut,

je voulais vous demander si je pouvais faire la même chose chezle client.

J'veux séréaliser l'objet serveur qui contient un liste d'objet client (communication bidirectionnelle). Le problème vient dansla séréalisationdes objet clients (même message d'erreur : En raison de restrictions de sécurité, le type System.Runtime.Remoting.ObjRef est inaccessible.)

J'aiessayer de faire le même code pour le client

BinaryClientFormatterSinkProvider provider = new BinaryClientFormatterSinkProvider();

IDictionary prop = new Hashtable();
prop["port"] = 1069;

prop["typeFilterLevel"] = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;



TcpChannel channel = new TcpChannel(prop, null, provider);

mais leproblème persiste

qlq1 pourrait-il m'aider?

merci d'avance
mercredi 17 septembre 2008 à 12:26:33 | Re : remoting icollection

sidommou

prop["typeFilterLevel"] = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

ce bout de code c parceque BinaryClientFormatterSinkProvider n'offrepas le typefilterlevel



Cette discussion est classée dans : system, runtime, at, remoting, serialization


Répondre à ce message

Sujets en rapport avec ce message

Remoting : System.Runtime.Remoting.RemotingException: Underlying socket was closed [ par psycomel ] Bonjour, Quelqu'un a t il une idée d'ou peut venir cette erreur?J'utilise visual studio .net framework 1.1Mon application fait la chose suivante : J'a Problème sérialisation XML WebService [ par blat ] Bonjour,Voila mon problème : je tente de créer un webservice qui accède à un autre webservice. Pour ce faire, j'ai crée un proxy du webservice que je Serialization Soap [ par zaka48 ] j'ai un probleme avec la declaration de l'esapce de nom using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Soap;c'est ce System.Runtime.Remoting.Channels.Http introuvable [ par joserwan ] Bonjour à tous,Je suis incapable de trouver la classe System.Runtime.Remoting.Channels.Http ! J'ai bien System.Runtime.Remoting.Channels, mais en tapa aide [ par fmalabo ] bonjour, nous développons une application pour un projet et nous avons une difficulté sur l'insertion dans une Bases de Données et nous donne cette er sqlite et mono sous linux [ par Karibot ] Bonjour, de nouveau sur le forum pour poster un bug que je n'arrive pas à résoudre! j'ai fais un programme qui traite des fichiers et qui stocke leur Deserialization entre 2 exe [ par jokary64 ] bonjour, Voila j'ai 2 applications dans la premiere j'enregistre une classe par serialization et dans l'autre exe je veux deserialiser pour recupere Erreur Inconnue [ par MadFox972 ] Bonjour, Je ne sais pas si je suis au bon endroit mais je tentes quand même Depuis quelques jours, je code un petit programme qui copie et range des f Exception bizarre [ par Arthenius ] Hello,voila j'ai un pb avec un datagrid...bon je peux pas mettre tout le code mais voila l'ideej'ai mis des try et catch partout....(avec un messagebo


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales