cs_dieulapin
Messages postés8Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention19 avril 2006
-
6 janv. 2006 à 14:23
sidommou
Messages postés27Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention29 novembre 2010
-
17 sept. 2008 à 12:26
Bonjour,
J'essaye de faire du remoting en .net.
Je veux creer un objet activable de type icollection
voila comment j'ai procedé :
<li>une classe Person</li><li>une classe RemoteCollection qui herite de MarshalByRef et qui Implemente ICollection avec une arraylist
</li><li>une classe Persons qui est une collection de Person qui herite de RemoteCollection </li>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)
sidommou
Messages postés27Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention29 novembre 2010 17 sept. 2008 à 12:24
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();