示例#1
0
        internal static void WriteToFile(WriteToStream callback, string path, bool append = false)
        {
            using (var writer = new StreamWriter(path, append))
            {
#if DEBUG
                writer.AutoFlush = true; // To look at intermediate output at certain breakpoints
#endif
                callback(writer);
            }
        }
示例#2
0
        static WriteToStream <T> GetStreamDelegate <T>()
        {
            WriteToStream <T> lw = null;

            lock (_StreamCached)
            {
                Delegate untyped;
                if (_StreamCached.TryGetValue(typeof(T), out untyped))
                {
                    lw = (WriteToStream <T>)untyped;
                }
            }

            return(lw ?? CacheStreamDelegate <T>());
        }
示例#3
0
        private async Task <IEnumerable <object> > IndexAndQueryBestMatch(Envelope <MessageContext, DemographicsDocument> envelope)
        {
            var database    = _redisConnection.GetDatabase();
            var transaction = database.CreateTransaction();

            var document = envelope.Body;

            var essenceId = await MatchingHandlers.GetOrCreateEssence(document, transaction);

            var matchedEvent = new DemographicsMatched(document.DocumentId, essenceId);
            var eventId      = EventId.Create(envelope.Header.EventId);
            var writeEvent   = new WriteToStream(eventId, "matched", matchedEvent);

            return(new[] { writeEvent });
        }
示例#4
0
        internal static void WriteToConsole(WriteToStream callback)
        {
            // Point the stream to standard output
            var writer = new StreamWriter(Console.OpenStandardOutput());

            writer.AutoFlush = true;
            Console.SetOut(writer);

            // Call the abstract method
            callback(writer);

            // Recover the standard output stream
            var standardOutput = new StreamWriter(Console.OpenStandardOutput());

            standardOutput.AutoFlush = true;
            Console.SetOut(standardOutput);
        }