コード例 #1
0
        protected  void Publish(string eventName, ComponentModel model)
        {
            if (_timerStrategy != null && _messageBroker != null)
            {
                IExecutionTimer timer = _timerStrategy();
                if (timer != null)
                {
                    var interceptors = "None";

                    if (model.HasInterceptors)
                    {
                        interceptors = String.Join(", ", model.Interceptors.Select(x => x.ToString())); 
                    }
                       
                    _messageBroker.Publish(new ComponentModelMessage()
                                               {
                                                   EventName = eventName,
                                                   Service = String.Join(", ", model.Services.Select(service => service.Name)),
                                                   Implementation = model.Implementation.Name,
                                                   Lifestyle = model.GetLifestyleDescriptionLong(),
                                                   Interceptors = interceptors,
                                                   FromFirst = timer.Point().Offset,
                                                   FromLast = CalculateFromLast(timer)
                                               });
                }
            }
        }