AddComponentEntry() public method

public AddComponentEntry ( ComponentModel model ) : void
model Castle.Core.ComponentModel
return void
示例#1
0
        private void ConfigureServerComponent(RemotingStrategy server, Type type, ComponentModel model)
        {
            if (server == RemotingStrategy.None)
            {
                return;
            }

            var uri = ConstructServerURI(server, model);

            switch (server)
            {
            case RemotingStrategy.Singleton:
            {
                CheckURIIsNotNull(uri, model.Name);

                RemotingConfiguration.RegisterWellKnownServiceType(type, uri, WellKnownObjectMode.Singleton);

                break;
            }

            case RemotingStrategy.SingleCall:
            {
                CheckURIIsNotNull(uri, model.Name);

                RemotingConfiguration.RegisterWellKnownServiceType(type, uri, WellKnownObjectMode.SingleCall);

                break;
            }

            case RemotingStrategy.ClientActivated:
            {
                RemotingConfiguration.RegisterActivatedServiceType(type);

                break;
            }

            case RemotingStrategy.Component:
            {
                localRegistry.AddComponentEntry(model);

                break;
            }

            case RemotingStrategy.RecoverableComponent:
            {
                CheckURIIsNotNull(uri, model.Name);

                ValidateLifeStyle(model);

                localRegistry.AddComponentEntry(model);

                model.ExtendedProperties.Add("remoting.uri", uri);
                model.ExtendedProperties.Add("remoting.afinity", true);

                model.CustomComponentActivator = typeof(RemoteMarshallerActivator);

                break;
            }
            }
        }
        private void ConfigureServerComponent(RemotingStrategy server, Type type, ComponentModel model)
        {
            if (server == RemotingStrategy.None)
            {
                return;
            }

            String uri = ConstructServerURI(server, model.Name, model);

            if (server == RemotingStrategy.Singleton)
            {
                CheckURIIsNotNull(uri, model.Name);

                RemotingConfiguration.RegisterWellKnownServiceType(type, uri, WellKnownObjectMode.Singleton);
            }
            else if (server == RemotingStrategy.SingleCall)
            {
                CheckURIIsNotNull(uri, model.Name);

                RemotingConfiguration.RegisterWellKnownServiceType(type, uri, WellKnownObjectMode.SingleCall);
            }
            else if (server == RemotingStrategy.ClientActivated)
            {
                RemotingConfiguration.RegisterActivatedServiceType(type);
            }
            else if (server == RemotingStrategy.Component)
            {
                localRegistry.AddComponentEntry(model);
            }
        }