Пример #1
0
        public static Guid LogError(Guid id, string application, string host, string type, string source, string message, string user, int statusCode, DateTime time, string xml)
        {
            var cmd = new LogErrorCommand(id, application, host, type, source, message, user, statusCode, time, xml);

            cmd = DataPortal.Execute <LogErrorCommand>(cmd);
            return(cmd.Id);
        }
Пример #2
0
        static async Task Main(string[] args)
        {
            var messageDispatched = 0;
            //var resolver = new UnityDependencyResolver();
            //using (new InformationLogEventWriter())
            //{
            //    ApplicationConfiguration.RegisterDependencyResolver(() => resolver);
            //    ApplicationConfiguration.RegisterServerInitialiserFactory(() => new ServerInitialiser());

            //    Program.InitializeServer();
            //}
            var compressor = new DeflateCompressor();
            var serialaser = new InMemorySerializer(compressor);
            var logger = new MockLogProvider();
            var transport = new InMemoryQueueTransport(logger, () => new TransportConfiguration());
            await transport.Start();
            var transportManager = new TransportManager(transport, null);
            var dispatcher = new TransportDispatcher(transportManager ,serialaser);//resolver.Resolve<ITranspontDispatcher>();


            var internalListener = new MessageListener();
            await dispatcher.TransportManager.RegisterListener(internalListener);
            var tasks = new List<Task>();
            for (var i = 0; i < 1; i++)
            {
                var batch = i;
                var task = Task.Factory.StartNew(async () =>
                {
                    for (var j = 0; j < 1; j++)
                    {
                        var command = new LogErrorCommand(Guid.NewGuid(), Guid.NewGuid());
                        Interlocked.Increment(ref messageDispatched);
                        Console.WriteLine(String.Format("Dispatched message No: {0}, batch: {1}. Total number messages: {2}", j, batch, messageDispatched));
                        //Thread.Sleep(10);
                        await dispatcher.SendMessage(command);
                    }
                });

                tasks.Add(task);
            }

            Console.ReadLine();
        }