internal ActivatedClientTypeEntry[] GetRegisteredActivatedClientTypes()
{
// count number of well known client types
int count = 0;
foreach (DictionaryEntry dictEntry in _remoteTypeInfo)
{
ActivatedClientTypeEntry entry = dictEntry.Value as ActivatedClientTypeEntry;
if (entry != null)
count++;
}
ActivatedClientTypeEntry[] entries =
new ActivatedClientTypeEntry[count];
int co = 0;
foreach (DictionaryEntry dictEntry in _remoteTypeInfo)
{
ActivatedClientTypeEntry entry = dictEntry.Value as ActivatedClientTypeEntry;
if (entry != null)
{
// retrieve application url
String appUrl = null;
RemoteAppEntry remApp = entry.GetRemoteAppEntry();
if (remApp != null)
appUrl = remApp.GetAppURI();
ActivatedClientTypeEntry wkcte =
new ActivatedClientTypeEntry(entry.TypeName,
entry.AssemblyName, appUrl);
// Fetch the context attributes
wkcte.ContextAttributes = entry.ContextAttributes;
entries[co++] = wkcte;
}
}
return entries;
} // GetRegisteredActivatedClientTypes