internal LogicalCallContext(SerializationInfo info, StreamingContext context)
 {
     SerializationInfoEnumerator enumerator = info.GetEnumerator();
     while (enumerator.MoveNext())
     {
         if (enumerator.Name.Equals("__RemotingData"))
         {
             this.m_RemotingData = (CallContextRemotingData) enumerator.Value;
         }
         else
         {
             if (enumerator.Name.Equals("__SecurityData"))
             {
                 if (context.State == StreamingContextStates.CrossAppDomain)
                 {
                     this.m_SecurityData = (CallContextSecurityData) enumerator.Value;
                 }
                 continue;
             }
             if (enumerator.Name.Equals("__HostContext"))
             {
                 this.m_HostContext = enumerator.Value;
                 continue;
             }
             if (enumerator.Name.Equals("__CorrelationMgrSlotPresent"))
             {
                 this.m_IsCorrelationMgr = (bool) enumerator.Value;
                 continue;
             }
             this.Datastore[enumerator.Name] = enumerator.Value;
         }
     }
 }
예제 #2
0
        public Object Clone()
        {
            CallContextSecurityData sd = new CallContextSecurityData();

            sd._principal = _principal;
            return(sd);
        }
예제 #3
0
        [System.Security.SecurityCritical]  // auto-generated
        internal LogicalCallContext(SerializationInfo info, StreamingContext context)
        {
            SerializationInfoEnumerator e = info.GetEnumerator();

            while (e.MoveNext())
            {
                if (e.Name.Equals("__RemotingData"))
                {
                    m_RemotingData = (CallContextRemotingData)e.Value;
                }
                else if (e.Name.Equals("__SecurityData"))
                {
                    if (context.State == StreamingContextStates.CrossAppDomain)
                    {
                        m_SecurityData = (CallContextSecurityData)e.Value;
                    }
                    else
                    {
                        BCLDebug.Assert(false, "Security data should only be serialized in cross appdomain case.");
                    }
                }
                else if (e.Name.Equals("__HostContext"))
                {
                    m_HostContext = e.Value;
                }
                else if (e.Name.Equals("__CorrelationMgrSlotPresent"))
                {
                    m_IsCorrelationMgr = (bool)e.Value;
                }
                else
                {
                    Datastore[e.Name] = e.Value;
                }
            }
        }
        internal LogicalCallContext(SerializationInfo info, StreamingContext context)
        {
            SerializationInfoEnumerator enumerator = info.GetEnumerator();

            while (enumerator.MoveNext())
            {
                if (enumerator.Name.Equals("__RemotingData"))
                {
                    this.m_RemotingData = (CallContextRemotingData)enumerator.Value;
                }
                else
                {
                    if (enumerator.Name.Equals("__SecurityData"))
                    {
                        if (context.State == StreamingContextStates.CrossAppDomain)
                        {
                            this.m_SecurityData = (CallContextSecurityData)enumerator.Value;
                        }
                        continue;
                    }
                    if (enumerator.Name.Equals("__HostContext"))
                    {
                        this.m_HostContext = enumerator.Value;
                        continue;
                    }
                    if (enumerator.Name.Equals("__CorrelationMgrSlotPresent"))
                    {
                        this.m_IsCorrelationMgr = (bool)enumerator.Value;
                        continue;
                    }
                    this.Datastore[enumerator.Name] = enumerator.Value;
                }
            }
        }
예제 #5
0
 public Object Clone()
 {
     CallContextSecurityData sd = new CallContextSecurityData();
     sd._principal = _principal;
     return sd;
 }
예제 #6
0
        [System.Security.SecurityCritical]  // auto-generated
        internal LogicalCallContext(SerializationInfo info, StreamingContext context)
        {
            SerializationInfoEnumerator e = info.GetEnumerator();
            while (e.MoveNext())
            {
                if (e.Name.Equals("__RemotingData"))
                {
                    m_RemotingData = (CallContextRemotingData) e.Value;
                }
                else if (e.Name.Equals("__SecurityData"))
                {
                    if (context.State == StreamingContextStates.CrossAppDomain)                        
                    {
                        m_SecurityData = (CallContextSecurityData) e.Value;
                    }
                    else
                    {
                        BCLDebug.Assert(false, "Security data should only be serialized in cross appdomain case.");
                    }
                }
                else if (e.Name.Equals("__HostContext"))
                {
                    m_HostContext = e.Value;
                }
                else if (e.Name.Equals("__CorrelationMgrSlotPresent"))
                {
                    m_IsCorrelationMgr = (bool)e.Value;
                }
                else
                {
                    Datastore[e.Name] = e.Value;    
                }

            }
        }