Example implementation of the local domain
Inheritance: Org.Openengsb.Loom.CSharp.Bridge.Implementation.RegistrationFunctions, IOOSourceCodeDomainSoapBinding
示例#1
0
        /// <summary>
        /// This version works with the OpenEngS 3.0.0-Snapshot Framework
        /// </summary>
        /// <param name="args">System Arguments</param>
        public static void Main(string[] args)
        {
            log4net.Config.BasicConfigurator.Configure();
            ILog    logger;
            Boolean xlink = false;
            ExampleDomainConnector      exampleDomain = new ExampleDomainConnector();
            OOSourceCodeDomainConnector ooconnector   = new OOSourceCodeDomainConnector();

            OpenEngSB300.SetSupport();
            IDomainFactory factory;
            string         domainName;
            string         destination = "tcp://localhost.:6549";

            if (xlink)
            {
                // If you are using xlink for the example, please use an other domain. Example domain is not linkable
                domainName = "oosourcecode";
                logger     = LogManager.GetLogger(typeof(OOSourceCodeDomainConnector));
                factory    = DomainFactoryProvider.GetDomainFactoryInstance("3.0.0", destination, ooconnector, new RetryDefaultExceptionHandler());
            }
            else
            {
                domainName = "example";
                logger     = LogManager.GetLogger(typeof(ExampleDomainConnector));
                factory    = DomainFactoryProvider.GetDomainFactoryInstance("3.0.0", destination, exampleDomain, new ForwardDefaultExceptionHandler());
            }

            logger.Info("Start Example wit the domain " + domainName);

            String connectorId = factory.CreateDomainService(domainName);

            factory.RegisterConnector(connectorId, domainName);
            if (xlink)
            {
                XLinkUrlBlueprint template = factory.ConnectToXLink(connectorId, "localhost", domainName, InitModelViewRelation());
                factory.DisconnectFromXLink(connectorId, "localhost");
            }
            else
            {
                IExampleDomainEventsSoapBinding remotedomain = factory.GetEventhandler <IExampleDomainEventsSoapBinding>(connectorId);
                LogEvent logEvent = new LogEvent();
                logEvent.name    = "Example";
                logEvent.level   = "DEBUG";
                logEvent.message = "remoteTestEventLog";
                remotedomain.raiseEvent(logEvent);
            }

            logger.Info("Press enter to close the Connection");
            Console.ReadKey();
            factory.UnRegisterConnector(connectorId);
            factory.DeleteDomainService(connectorId);
            factory.StopConnection(connectorId);
        }
示例#2
0
        /// <summary>
        /// This version works with the OpenEngS 3.0.0-Snapshot Framework
        /// </summary>
        /// <param name="args">System Arguments</param>
        public static void Main(string[] args)
        {
            log4net.Config.BasicConfigurator.Configure();
            ILog logger;
            Boolean xlink = false;
            ExampleDomainConnector exampleDomain = new ExampleDomainConnector();
            OOSourceCodeDomainConnector ooconnector = new OOSourceCodeDomainConnector();
            OpenEngSB300.SetSupport();
            IDomainFactory factory;
            string domainName;
            string destination = "tcp://localhost.:6549";
            if (xlink)
            {
                // If you are using xlink for the example, please use an other domain. Example domain is not linkable
                domainName = "oosourcecode";
                logger = LogManager.GetLogger(typeof(OOSourceCodeDomainConnector));
                factory = DomainFactoryProvider.GetDomainFactoryInstance("3.0.0", destination, ooconnector, new RetryDefaultExceptionHandler());
            }
            else
            {
                domainName = "example";
                logger = LogManager.GetLogger(typeof(ExampleDomainConnector));
                factory = DomainFactoryProvider.GetDomainFactoryInstance("3.0.0", destination, exampleDomain, new ForwardDefaultExceptionHandler());
            }

            logger.Info("Start Example wit the domain " + domainName);

            String connectorId = factory.CreateDomainService(domainName);
            factory.RegisterConnector(connectorId, domainName);
            if (xlink)
            {
                XLinkUrlBlueprint template = factory.ConnectToXLink(connectorId, "localhost", domainName, InitModelViewRelation());
                factory.DisconnectFromXLink(connectorId, "localhost");
            }
            else
            {
                IExampleDomainEventsSoapBinding remotedomain = factory.GetEventhandler<IExampleDomainEventsSoapBinding>(connectorId);
                LogEvent logEvent = new LogEvent();
                logEvent.name = "Example";
                logEvent.level = "DEBUG";
                logEvent.message = "remoteTestEventLog";
                remotedomain.raiseEvent(logEvent);
            }

            logger.Info("Press enter to close the Connection");
            Console.ReadKey();
            factory.UnRegisterConnector(connectorId);
            factory.DeleteDomainService(connectorId);
            factory.StopConnection(connectorId);
        }