Ejemplo n.º 1
0
        private void TransitionToFinalStatus(ActivityContextStatus status, ActivityEventArgs eventArgs)
        {
            bool flag = false;

            try
            {
                int num;
                try
                {
                    this.spinLock.Enter(ref flag);
                    num         = this.status;
                    this.status = (int)status;
                }
                finally
                {
                    if (flag)
                    {
                        this.spinLock.Exit();
                    }
                }
                if (num == 0)
                {
                    this.stopwatch.Stop();
                    this.endTime = new DateTime?(DateTime.UtcNow);
                    ExTraceGlobals.ActivityContextTracer.TraceDebug <Guid, ActivityContextStatus>((long)this.LocalId.GetHashCode(), "ActivityScopeImpl.TransitionToFinalStatus key {0}, Status={1}.", this.LocalId, status);
                    ActivityContext.RaiseEvent(this, eventArgs);
                }
            }
            finally
            {
                this.Dispose();
                ActivityContext.ClearThreadScope();
            }
        }
Ejemplo n.º 2
0
 private void TimerExecute(object stateNotUsed)
 {
     PublicFolderSynchronizer.Tracer.TraceDebug((long)this.GetHashCode(), "Waking up from timer");
     ActivityContext.SetThreadScope(this.activityScope);
     try
     {
         this.Execute();
     }
     finally
     {
         ActivityContext.ClearThreadScope();
     }
 }
Ejemplo n.º 3
0
 // Token: 0x060015FC RID: 5628 RVA: 0x0005209C File Offset: 0x0005029C
 public LoggingModule(TaskContext context)
 {
     this.context = context;
     if (!ActivityContext.IsStarted)
     {
         ActivityContext.ClearThreadScope();
         this.activityScope = ActivityContext.Start(this);
         if (HttpContext.Current != null)
         {
             this.activityScope.UpdateFromMessage(HttpContext.Current.Request);
             this.activityScope.SerializeTo(HttpContext.Current.Response);
         }
     }
     InitializeLoggerSettingsHelper.InitLoggerSettings();
     this.StartLogging();
 }
Ejemplo n.º 4
0
 internal static void InitializeRequestLogger()
 {
     if (!LoggerSettings.LogEnabled)
     {
         return;
     }
     if (LoggerSettings.IsRemotePS)
     {
         IActivityScope activityScope = null;
         if (!ActivityContext.IsStarted)
         {
             ActivityContext.ClearThreadScope();
             activityScope = ActivityContext.Start(null);
         }
         RequestDetailsLoggerBase <RpsAuthZLogger> .InitializeRequestLogger(activityScope ?? ActivityContext.GetCurrentActivityScope());
     }
 }
Ejemplo n.º 5
0
 internal RfriContext(ClientSecurityContext clientSecurityContext, string userDomain, string clientAddress, string serverAddress, string protocolSequence, string authenticationService, bool encrypted, bool isAnonymous, Guid requestId = default(Guid))
 {
     this.ContextHandle         = NspiContext.GetNextContextHandle();
     this.disposeTracker        = ((IDisposeTrackable)this).GetDisposeTracker();
     this.clientSecurityContext = clientSecurityContext;
     this.userDomain            = userDomain;
     this.encrypted             = encrypted;
     this.isAnonymous           = isAnonymous;
     this.protocolSequence      = protocolSequence;
     this.protocolLogSession    = ProtocolLog.CreateSession(this.ContextHandle, clientAddress, serverAddress, protocolSequence);
     this.ProtocolLogSession[ProtocolLog.Field.Authentication] = authenticationService;
     if (requestId != Guid.Empty)
     {
         ActivityContextState activityContextState = new ActivityContextState(new Guid?(requestId), new ConcurrentDictionary <Enum, object>());
         ActivityContext.ClearThreadScope();
         this.scope = ActivityContext.Resume(activityContextState, null);
     }
 }
        private static RequestDetailsLogger GetRequestDetailsLogger(string eventId, IMailboxContext userContext, string primarySmtpAddress, out bool commitLogger)
        {
            RequestDetailsLogger requestDetailsLogger = OwaApplication.GetRequestDetailsLogger;

            if (requestDetailsLogger != null && !requestDetailsLogger.IsDisposed)
            {
                commitLogger = false;
                requestDetailsLogger.AppendGenericInfo("NestedCallback", eventId);
            }
            else
            {
                commitLogger = true;
                ActivityContext.ClearThreadScope();
                requestDetailsLogger = RequestDetailsLoggerBase <RequestDetailsLogger> .InitializeRequestLogger();

                requestDetailsLogger.ActivityScope.UserEmail = primarySmtpAddress;
                requestDetailsLogger.Set(ExtensibleLoggerMetadata.EventId, eventId);
                requestDetailsLogger.Set(OwaServerLogger.LoggerData.PrimarySmtpAddress, primarySmtpAddress);
                requestDetailsLogger.Set(OwaServerLogger.LoggerData.UserContext, userContext.Key);
            }
            return(requestDetailsLogger);
        }
        internal static void ExecuteWithoutUserContext(string eventId, Action <RequestDetailsLogger> action)
        {
            RequestDetailsLogger logger = OwaApplication.GetRequestDetailsLogger;

            ActivityContext.ClearThreadScope();
            logger = RequestDetailsLoggerBase <RequestDetailsLogger> .InitializeRequestLogger();

            try
            {
                OwaDiagnostics.SendWatsonReportsForGrayExceptions(delegate()
                {
                    action(logger);
                });
            }
            catch (GrayException ex)
            {
                SimulatedWebRequestContext.ProcessException(logger, eventId, ex.InnerException);
            }
            finally
            {
                logger.Commit();
            }
        }
Ejemplo n.º 8
0
        public static void Begin(OrganizationId organizationId, Guid contentMailboxGuid, bool executeReconcileFolders, Action <Exception> onEndCallback)
        {
            ArgumentValidator.ThrowIfNull("organizationId", organizationId);
            ArgumentValidator.ThrowIfEmpty("contentMailboxGuid", contentMailboxGuid);
            ArgumentValidator.ThrowIfNull("onEndCallback", onEndCallback);
            PublicFolderSynchronizer.Tracer.TraceDebug <OrganizationId, Guid, bool>(0L, "PublicFolderSynchronizer.Begin() for organization {0}, mailbox {1}, executeReconcileFolders {2}", organizationId, contentMailboxGuid, executeReconcileFolders);
            ConfigBase <MRSConfigSchema> .InitializeConfigProvider(new Func <IConfigSchema, IConfigProvider>(ConfigProvider.CreateProvider));

            IActivityScope activityScope = ActivityContext.Start(null, ActivityType.System);

            activityScope.Component = "PublicFolderSynchronizer";
            try
            {
                PublicFolderSynchronizerContext publicFolderSynchronizerContext = new PublicFolderSynchronizerContext(organizationId, contentMailboxGuid, false, executeReconcileFolders, activityScope.ActivityId);
                PublicFolderSynchronizer        publicFolderSynchronizer        = new PublicFolderSynchronizer(publicFolderSynchronizerContext, activityScope, onEndCallback);
                PublicFolderSynchronizer.Tracer.TraceDebug <int>(0L, "Created PublicFolderSynchronizer={0}", publicFolderSynchronizer.GetHashCode());
                publicFolderSynchronizer.Execute();
            }
            finally
            {
                ActivityContext.ClearThreadScope();
            }
        }