コード例 #1
0
ファイル: ProxyModule.cs プロジェクト: YHZX2013/exchange_diff
 public void Init(HttpApplication application)
 {
     Diagnostics.SendWatsonReportOnUnhandledException(delegate()
     {
         LatencyTracker latencyTracker = new LatencyTracker();
         latencyTracker.StartTracking(LatencyTrackerKey.ProxyModuleInitLatency, false);
         Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.VerboseTracer.TraceDebug <ProtocolType>((long)this.GetHashCode(), "[ProxyModule::Init]: Init called.  Protocol type: {0}", HttpProxyGlobals.ProtocolType);
         if (application == null)
         {
             string message = "[ProxyModule::Init]: ProxyModule.Init called with null HttpApplication context.";
             Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.BriefTracer.TraceError((long)this.GetHashCode(), message);
             throw new ArgumentNullException("application", message);
         }
         this.PfdTracer                     = new PfdTracer(0, this.GetHashCode());
         application.BeginRequest          += this.OnBeginRequest;
         application.AuthenticateRequest   += this.OnAuthenticateRequest;
         application.PostAuthorizeRequest  += this.OnPostAuthorizeRequest;
         application.PreSendRequestHeaders += this.OnPreSendRequestHeaders;
         application.EndRequest            += this.OnEndRequest;
         if (Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.VerboseTracer.IsTraceEnabled(TraceType.DebugTrace))
         {
             Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.VerboseTracer.TraceDebug <ProtocolType, long>((long)this.GetHashCode(), "[ProxyModule::Init]: Protocol type: {0}, InitLatency {1}", HttpProxyGlobals.ProtocolType, latencyTracker.GetCurrentLatency(LatencyTrackerKey.ProxyModuleInitLatency));
         }
     });
 }
コード例 #2
0
ファイル: PfdTracer.cs プロジェクト: happygitty/codediff
        // Token: 0x060002D6 RID: 726 RVA: 0x0000E814 File Offset: 0x0000CA14
        private static void TraceDiffs(NameObjectCollectionBase original, NameObjectCollectionBase revised, HashSet <string> notInterestingNames, StringBuilder result)
        {
            HashSet <string> hashSet = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);

            foreach (object obj in original)
            {
                string text = (string)obj;
                if (!notInterestingNames.Contains(text))
                {
                    string value  = PfdTracer.GetValue(revised, text);
                    string value2 = PfdTracer.GetValue(original, text);
                    if (value == null)
                    {
                        result.Append("-" + text + ",");
                    }
                    else
                    {
                        hashSet.Add(text);
                        if (string.Compare(value2, value, StringComparison.OrdinalIgnoreCase) != 0)
                        {
                            result.Append("*" + text + ",");
                        }
                    }
                }
            }
            foreach (object obj2 in revised)
            {
                string text2 = (string)obj2;
                if (!notInterestingNames.Contains(text2) && !hashSet.Contains(text2))
                {
                    result.Append("+" + text2 + ",");
                }
            }
        }
コード例 #3
0
ファイル: PfdTracer.cs プロジェクト: happygitty/codediff
        // Token: 0x060002D2 RID: 722 RVA: 0x0000E580 File Offset: 0x0000C780
        public void TraceCookies(string stage, CookieCollection originalCookies, HttpCookieCollection newCookies)
        {
            if (PfdTracer.IsTraceDisabled)
            {
                return;
            }
            if (originalCookies == null || newCookies == null)
            {
                return;
            }
            StringBuilder stringBuilder = new StringBuilder(20 * originalCookies.Count);

            stringBuilder.Append(string.Format("{0}: {1}: ", this.traceContext, stage));
            PfdTracer.TraceDiffs(PfdTracer.CopyCookies(originalCookies), newCookies, PfdTracer.NotInterestedCookies, stringBuilder);
            this.Write(stringBuilder.ToString());
        }
コード例 #4
0
ファイル: PfdTracer.cs プロジェクト: happygitty/codediff
        // Token: 0x060002D0 RID: 720 RVA: 0x0000E4B4 File Offset: 0x0000C6B4
        public void TraceHeaders(string stage, NameValueCollection originalHeaders, NameValueCollection newHeaders)
        {
            if (PfdTracer.IsTraceDisabled)
            {
                return;
            }
            if (originalHeaders == null || newHeaders == null)
            {
                return;
            }
            StringBuilder stringBuilder = new StringBuilder(20 * originalHeaders.Count);

            stringBuilder.Append(string.Format("{0}: {1}: ", this.traceContext, stage));
            PfdTracer.TraceDiffs(originalHeaders, newHeaders, PfdTracer.NotInterestedHeaders, stringBuilder);
            this.Write(stringBuilder.ToString());
        }