Hi there, This is a "by design" security change in the V1.1 framework. Basically, the rules for what can be deserialized with the default security settings have changed. You can find the details here [1].
There are a number of fixes, all of which effectively amount to slackening this security restriction. (Details of which are also there). This does, however, bring up an important fundamental point about security. That is - to communicate information from one place to another there has to be some kind of trust relationship, and therefore some kind security hole. When you transmit information, you try to make as small a hole as possible, for as little time as possible, and poke the information across. This change in the default security settings forces you to think about the hole you are making, but it doesn't take away the need for the hole! Matthew Adams Development Manager Digital Healthcare Ltd [1] http://www.gotdotnet.com/team/changeinfo/Backwards1.0to1.1/default.aspx# 00000153 (Beware word wrap) -----Original Message----- From: Borisov, William [mailto:[EMAIL PROTECTED] Sent: 03 April 2003 22:52 To: [EMAIL PROTECTED] I'm trying to use a design I had working in the previous release version of .net which remoted events from the server to the client using the Observer pattern, Attach, Deattach on the remoted object. In v1.1 I'm getting a System.Runtime.Serialization.SerializationException which seems to be originating in the method System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObjec t. The documention for this class claims it is supported only in version 1.1 of the .NET Framework. Am I missign something here, or is this a possible bug in the Final Beta version. TIA. StackTrace "\nServer stack trace: \n at System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObjec t(Ty pe type)\r\n at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject( Pars eRecord pr)\r\n at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseR ecor d pr)\r\n at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObject With MapTyped(BinaryObjectWithMapTyped record)\r\n at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObject With MapTyped(BinaryHeaderEnum binaryHeaderEnum)\r\n at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()\r\n at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize( Head erHandler handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage methodCallMessage)\r\n at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deseriali ze(S tream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage)\r\n at System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMes sage (String objectUri, Stream inputStream, Boolean bStrictBinding, TypeFilterLevel securityLevel)\r\n at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessag e(IS erverChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)\n\nException rethrown at [0]: \n at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)\r\n at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)\r\n at CIBC.CPM.DataInfrastructure.Remoting.IRemoteObserver.Attach(IRemoteSink sink)\r\n at DIRemoter_Test.MainClass.Main(String[] args) in e:\\zoser\\code\\dot_net\\di remoting\\diremoter_test\\main.cs:line 47" string Information in this message reflects current market conditions and is subject to change without notice. It is believed to be reliable, but is not guaranteed for accuracy or completeness. Details provided do not supersede your normal trade confirmations or statements. Any product is subject to prior sale. CIBC World Markets Corp, its affiliated companies, and their officers or employees, may have a position in or make a market in any security described above, and may act as an investment banker or advisor to such. Although CIBC World Markets Corp. is an indirect, wholly owned subsidiary of Canadian Imperial Bank of Commerce ("CIBC"), it is solely responsible for its contractual obligations. Any securities products recommended, purchased, or sold in any client accounts (i) will not be insured by the FDIC, (ii)will not be deposits or obligations of CIBC, (iii) will not be endorsed or guaranteed by CIBC, and (iv) will be subject to risks, including possible loss of principal invested.
