private static void ConfigureRemoting(RemotingXmlConfigFileData configData, bool ensureSecurity)
{
try
{
String appName = configData.ApplicationName;
if (appName != null)
ApplicationName = appName;
if (configData.CustomErrors != null)
_errorMode = configData.CustomErrors.Mode;
// configure channels
ConfigureChannels(configData, ensureSecurity);
// configure lifetime
if (configData.Lifetime != null)
{
if (configData.Lifetime.IsLeaseTimeSet)
LifetimeServices.LeaseTime = configData.Lifetime.LeaseTime;
if (configData.Lifetime.IsRenewOnCallTimeSet)
LifetimeServices.RenewOnCallTime = configData.Lifetime.RenewOnCallTime;
if (configData.Lifetime.IsSponsorshipTimeoutSet)
LifetimeServices.SponsorshipTimeout = configData.Lifetime.SponsorshipTimeout;
if (configData.Lifetime.IsLeaseManagerPollTimeSet)
LifetimeServices.LeaseManagerPollTime = configData.Lifetime.LeaseManagerPollTime;
}
_bUrlObjRefMode = configData.UrlObjRefMode;
// configure other entries
Info.StoreRemoteAppEntries(configData);
Info.StoreActivatedExports(configData);
Info.StoreInteropEntries(configData);
Info.StoreWellKnownExports(configData);
// start up activation listener if there are any activated objects exposed
if (configData.ServerActivatedEntries.Count > 0)
ActivationServices.StartListeningForRemoteRequests();
}
catch (Exception e)
{
throw new RemotingException(
String.Format(
CultureInfo.CurrentCulture, Environment.GetResourceString(
"Remoting_Config_ConfigurationFailure"),
e));
}
} // ConfigureRemoting