internal ActivatedClientTypeEntry[] GetRegisteredActivatedClientTypes() { int num = 0; foreach (DictionaryEntry entry in this._remoteTypeInfo) { if (entry.Value is ActivatedClientTypeEntry) { num++; } } ActivatedClientTypeEntry[] entryArray = new ActivatedClientTypeEntry[num]; int num2 = 0; foreach (DictionaryEntry entry3 in this._remoteTypeInfo) { ActivatedClientTypeEntry entry4 = entry3.Value as ActivatedClientTypeEntry; if (entry4 != null) { string appUrl = null; System.Runtime.Remoting.RemoteAppEntry remoteAppEntry = entry4.GetRemoteAppEntry(); if (remoteAppEntry != null) { appUrl = remoteAppEntry.GetAppURI(); } ActivatedClientTypeEntry entry6 = new ActivatedClientTypeEntry(entry4.TypeName, entry4.AssemblyName, appUrl) { ContextAttributes = entry4.ContextAttributes }; entryArray[num2++] = entry6; } } return(entryArray); }
internal ActivatedClientTypeEntry QueryRemoteActivate(string typeName, string assemblyName) { string str = this.EncodeTypeAndAssemblyNames(typeName, assemblyName); ActivatedClientTypeEntry entry = this._remoteTypeInfo[str] as ActivatedClientTypeEntry; if (entry == null) { return(null); } if (entry.GetRemoteAppEntry() == null) { System.Runtime.Remoting.RemoteAppEntry entry2 = (System.Runtime.Remoting.RemoteAppEntry) this._remoteAppInfo[entry.ApplicationUrl]; if (entry2 == null) { throw new RemotingException(string.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Remoting_Activation_MissingRemoteAppEntry"), new object[] { entry.ApplicationUrl })); } entry.CacheRemoteAppEntry(entry2); } return(entry); }