Пример #1
0
        public void ServiceEventsTest()
        {
            int errCnt = 0;

            var loggerFact = DurableTaskMicroservices.Common.Test.UnitTestLogging.GetDebugLoggerFactory(LogLevel.None);

            List <OrchestrationState> runningInstances;

            ServiceHost host = HostHelpersExtensions.CreateMicroserviceHost(ServiceBusConnectionString, DurableTaskMicroservices.Common.Test.UnitTestLogging.SqlStorageConnectionString, nameof(ServiceEventsTest), true, out runningInstances, loggerFact);

            //
            // This method subscribes all errors, which happen internally on host.
            host.SubscribeEvents(EventLevel.LogAlways,
                                 (msg) =>
            {
                Debug.WriteLine(msg);
                if (msg.Contains("Error converting value \"invalid input\" to type"))
                {
                    errCnt++;
                }
            }, "errors");

            var microservices = host.StartServiceHostAsync(Path.Combine(), runningInstances: runningInstances, context: new Dictionary <string, object>()
            {
                { "company", "daenet" }
            }).Result;

            var svc = host.StartServiceAsync(cHelloWorlSvcName, "invalid input").Result;

            microservices.Add(svc);

            host.WaitOnInstances(host, microservices);

            Assert.IsTrue(errCnt > 0);
        }
Пример #2
0
        public void SelfHostServiceClientTest()
        {
            eventListener.LogToConsole();
            eventListener.EnableEvents(DefaultEventSource.Log, EventLevel.Verbose);
            //eventListener.EnableEvents(null, EventLevel.Verbose)
            //eventListener.Subscribe((a)=> a


            var loggerFact = DurableTaskMicroservices.Common.Test.UnitTestLogging.GetDebugLoggerFactory();

            List <OrchestrationState> runningInstances;

            ServiceHost host = HostHelpersExtensions.CreateMicroserviceHost(ServiceBusConnectionString, StorageConnectionString, nameof(SelfHostServiceClientTest), true, out runningInstances, loggerFact);

            var microservices = host.StartServiceHostAsync(Path.Combine(), runningInstances: runningInstances, context: new Dictionary <string, object>()
            {
                { "company", "daenet" }
            }).Result;

            // var r = new Daenet.Microservice() { };

            //xmlSerializeService(typeof(Daenet.DurableTaskMicroservices.UnitTests.CounterOrchestration), "aaa.xml");

            ServiceClient client = ClientHelperExtensions.CreateMicroserviceClient(ServiceBusConnectionString, StorageConnectionString, nameof(SelfHostServiceClientTest));

            var svc = client.StartServiceAsync(cHelloWorlSvcName, new HelloWorldOrchestrationInput {
                HelloText = "SelfHostServiceClientTestInputArg"
            }).Result;

            microservices.Add(svc);

            host.WaitOnInstances(host, microservices);
        }
        internal void RunService()
        {
            try
            {
#if !DEVELOPMENT
                m_ELog = new EventLog("System", ".", "Daenet.DurableTask.Microservices");
#endif

                m_ELog?.WriteEntry("Started", EventLogEntryType.Information, 1);

                readConfiguration();

                var loggerFact = getSqlLoggerFactory();

                List <OrchestrationState> runningInstances;

                ServiceHost host = HostHelpersExtensions.CreateMicroserviceHost(m_ServiceBusConnectionString, m_StorageConnectionString, m_TaskHubName, false, out runningInstances, loggerFact);

                var microservices = host.StartServiceHostAsync(AppDomain.CurrentDomain.BaseDirectory, runningInstances: runningInstances, context: new Dictionary <string, object>()
                {
                    { "company", "daenet" }
                }).Result;

                //host.WaitOnInstances(host, microservices);


                //AzureTableInstanceStore instanceStore = new AzureTableInstanceStore(m_TaskHubName, m_StorageConnectionString);
                //ServiceBusOrchestrationService orchestrationServiceAndClient =
                //   new ServiceBusOrchestrationService(m_ServiceBusConnectionString, m_TaskHubName, instanceStore, null, null);

                //orchestrationServiceAndClient.CreateIfNotExistsAsync().Wait();

                //TaskHubClient taskHubClient = new TaskHubClient(orchestrationServiceAndClient);
                //TaskHubWorker taskHub = new TaskHubWorker(orchestrationServiceAndClient);

                //ServiceHost host;

                //host = new ServiceHost(orchestrationServiceAndClient, orchestrationServiceAndClient, instanceStore, false);

                //var runningInstances = instanceStore.GetRunningInstances();

                //host.StartServiceHostAsync(Environment.CurrentDirectory, runningInstances: runningInstances).Wait();
            }
            catch (Exception ex)
            {
                m_ELog?.WriteEntry($"Error: {ex.ToString()}", EventLogEntryType.Error, 1);
                this.Stop();
            }
        }
        public void SelfHostWithSqlLoggingTest()
        {
            var loggerFact = getSqlLoggerFactory();

            List <OrchestrationState> runningInstances;

            ServiceHost host = HostHelpersExtensions.CreateMicroserviceHost(ServiceBusConnectionString, SqlStorageConnectionString, nameof(SelfHostWithSqlLoggingTest), false, out runningInstances, loggerFact);

            var microservices = host.StartServiceHostAsync(Path.Combine(), runningInstances: runningInstances, context: new Dictionary <string, object>()
            {
                { "company", "daenet" }
            }).Result;

            host.WaitOnInstances(host, microservices);
        }
Пример #5
0
        static void Main(string[] args)
        {
            var loggerFact = getLoggerFactory();

            List <OrchestrationState> runningInstances;

            ServiceHost host = HostHelpersExtensions.CreateMicroserviceHost(ServiceBusConnectionString, SqlConnectionString, "TweetUsingSqlTest", true, out runningInstances, loggerFact, true);

            var microservices = host.StartServiceHostAsync(Path.Combine(), runningInstances: runningInstances, context: new Dictionary <string, object>()
            {
                { "company", "daenet" }
            }).Result;

            host.WaitOnInstances(host, microservices);
        }
        public void SelfHostServiceClientTest()
        {
            var loggerFact = getSqlLoggerFactory();

            List <OrchestrationState> runningInstances;

            ServiceHost host = HostHelpersExtensions.CreateMicroserviceHost(ServiceBusConnectionString, SqlStorageConnectionString, nameof(SelfHostServiceClientTest), true, out runningInstances, loggerFact);

            int errCnt = 0;

            //
            // This method subscribes all errors, which happen internally on host.
            host.SubscribeEvents(EventLevel.LogAlways,
                                 (msg) =>
            {
                Debug.WriteLine(msg);
                if (msg.Contains("Error converting value \"invalid input\" to type"))
                {
                    errCnt++;
                }
            }, "errors");

            var microservices = host.StartServiceHostAsync(Path.Combine(), runningInstances: runningInstances, context: new Dictionary <string, object>()
            {
                { "company", "daenet" }
            }).Result;

            ServiceClient client = ClientHelperExtensions.CreateMicroserviceClient(ServiceBusConnectionString, SqlStorageConnectionString, nameof(SelfHostServiceClientTest));

            //string svcName = "Daenet.Microservice.Common.Test.HelloWorldOrchestration.HelloWorldOrchestration";
            //                  Daenet.DurableTaskMicroservices.Common.Test.HelloWorldOrchestration

            var svc = client.StartServiceAsync(UnitTestsServiceClient.cHelloWorlSvcName, new HelloWorldOrchestration.HelloWorldOrchestrationInput {
                HelloText = "SelfHostServiceClientTestInputArg"
            }).Result;

            microservices.Add(svc);

            host.WaitOnInstances(host, microservices);
        }