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)