using System; using System.Collections; using System.Diagnostics; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting.Messaging; using System.Runtime.Remoting.Metadata; namespace System.Runtime.Remoting { /// Defines utility methods for use by the .NET Framework remoting infrastructure. // Token: 0x02000442 RID: 1090 [ComVisible(true)] public class InternalRemotingServices { /// Sends a message concerning a remoting channel to an unmanaged debugger. /// A string to place in the message. /// /// /// // Token: 0x060029E5 RID: 10725 RVA: 0x00086680 File Offset: 0x00084880 [Conditional("_LOGGING")] public static void DebugOutChnl(string s) { throw new NotSupportedException(); } /// Gets an appropriate SOAP-related attribute for the specified class member or method parameter. /// A class member or method parameter. /// /// /// // Token: 0x060029E6 RID: 10726 RVA: 0x00086688 File Offset: 0x00084888 public static SoapAttribute GetCachedSoapAttribute(object reflectionObject) { object syncRoot = InternalRemotingServices._soapAttributes.SyncRoot; SoapAttribute soapAttribute2; lock (syncRoot) { SoapAttribute soapAttribute = InternalRemotingServices._soapAttributes[reflectionObject] as SoapAttribute; if (soapAttribute != null) { soapAttribute2 = soapAttribute; } else { ICustomAttributeProvider customAttributeProvider = (ICustomAttributeProvider)reflectionObject; object[] customAttributes = customAttributeProvider.GetCustomAttributes(typeof(SoapAttribute), true); if (customAttributes.Length > 0) { soapAttribute = (SoapAttribute)customAttributes[0]; } else if (reflectionObject is Type) { soapAttribute = new SoapTypeAttribute(); } else if (reflectionObject is FieldInfo) { soapAttribute = new SoapFieldAttribute(); } else if (reflectionObject is MethodBase) { soapAttribute = new SoapMethodAttribute(); } else if (reflectionObject is ParameterInfo) { soapAttribute = new SoapParameterAttribute(); } soapAttribute.SetReflectionObject(reflectionObject); InternalRemotingServices._soapAttributes[reflectionObject] = soapAttribute; soapAttribute2 = soapAttribute; } } return soapAttribute2; } /// Instructs an internal debugger to check for a condition and display a message if the condition is false. /// true to prevent a message from being displayed; otherwise, false. /// The message to display if is false. /// /// /// // Token: 0x060029E7 RID: 10727 RVA: 0x00086790 File Offset: 0x00084990 [Conditional("_DEBUG")] public static void RemotingAssert(bool condition, string message) { throw new NotSupportedException(); } /// Sends any number of messages concerning remoting channels to an internal debugger. /// An array of type that contains any number of messages. /// /// /// // Token: 0x060029E8 RID: 10728 RVA: 0x00086798 File Offset: 0x00084998 [Conditional("_LOGGING")] public static void RemotingTrace(params object[] messages) { throw new NotSupportedException(); } /// Sets internal identifying information for a remoted server object for each method call from client to server. /// A that represents a method call on a remote object. /// Internal identifying information for a remoted server object. /// /// /// // Token: 0x060029E9 RID: 10729 RVA: 0x000867A0 File Offset: 0x000849A0 [CLSCompliant(false)] public static void SetServerIdentity(MethodCall m, object srvID) { Identity identity = srvID as Identity; if (identity == null) { throw new ArgumentException("srvID"); } RemotingServices.SetMessageTargetIdentity(m, identity); } // Token: 0x04001013 RID: 4115 private static Hashtable _soapAttributes = new Hashtable(); } }