internal void AddActivatedType(String typeName, String assemblyName,
IContextAttribute[] contextAttributes)
{
if (typeName == null)
throw new ArgumentNullException("typeName");
if (assemblyName == null)
throw new ArgumentNullException("assemblyName");
if (CheckForRedirectedClientType(typeName, assemblyName))
{
throw new RemotingException(
String.Format(
CultureInfo.CurrentCulture, Environment.GetResourceString(
"Remoting_Config_CantUseRedirectedTypeForWellKnownService"),
typeName, assemblyName));
}
ActivatedServiceTypeEntry aste =
new ActivatedServiceTypeEntry(typeName, assemblyName);
aste.ContextAttributes = contextAttributes;
// The assembly name is stored in lowercase to let it be case-insensitive.
String key = EncodeTypeAndAssemblyNames(typeName, assemblyName);
_exportableClasses.Add(key, aste);
} // AddActivatedType