System.Net.GlobalLog.SetThreadKind C# (CSharp) Method

SetThreadKind() private method

private SetThreadKind ( ThreadKinds kind ) : IDisposable
kind ThreadKinds
return IDisposable
        internal static IDisposable SetThreadKind(ThreadKinds kind)
        {
            if ((kind & ThreadKinds.SourceMask) != ThreadKinds.Unknown)
            {
                throw new InternalException();
            }

            // Ignore during shutdown.
            if (NclUtilities.HasShutdownStarted)
            {
                return null;
            }

            ThreadKinds threadKind = CurrentThreadKind;
            ThreadKinds source = threadKind & ThreadKinds.SourceMask;


            ThreadKindStack.Push(
                (((kind & ThreadKinds.OwnerMask) == 0 ? threadKind : kind) & ThreadKinds.OwnerMask) |
                (((kind & ThreadKinds.SyncMask) == 0 ? threadKind : kind) & ThreadKinds.SyncMask) |
                (kind & ~(ThreadKinds.OwnerMask | ThreadKinds.SyncMask)) |
                source);


            return new ThreadKindFrame();
        }

Usage Example

Beispiel #1
0
        protected override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext)
        {
#if DEBUG
            using (GlobalLog.SetThreadKind(ThreadKinds.User)) {
#endif
            serializationInfo.AddValue("_HttpRequestHeaders", _webHeaderCollection, typeof(WebHeaderCollection));
            serializationInfo.AddValue("_Proxy", _proxy, typeof(IWebProxy));
            serializationInfo.AddValue("_KeepAlive", KeepAlive);
            serializationInfo.AddValue("_Pipelined", Pipelined);
            serializationInfo.AddValue("_AllowAutoRedirect", AllowAutoRedirect);
            serializationInfo.AddValue("_AllowWriteStreamBuffering", AllowWriteStreamBuffering);
            serializationInfo.AddValue("_MaximumAllowedRedirections", AllowAutoRedirect);
            serializationInfo.AddValue("_AutoRedirects", AllowAutoRedirect);
            serializationInfo.AddValue("_Timeout", Timeout);
            serializationInfo.AddValue("_ReadWriteTimeout", ReadWriteTimeout);
            serializationInfo.AddValue("_MaximumResponseHeadersLength", _defaultMaxResponseHeaderLength);
            serializationInfo.AddValue("_ContentLength", ContentLength);
            serializationInfo.AddValue("_MediaType", MediaType);
            serializationInfo.AddValue("_OriginVerb", _originVerb);
            serializationInfo.AddValue("_ConnectionGroupName", ConnectionGroupName);
            serializationInfo.AddValue("_Version", ProtocolVersion, typeof(Version));
            serializationInfo.AddValue("_OriginUri", Address, typeof(Uri));
            base.GetObjectData(serializationInfo, streamingContext);
#if DEBUG
        }
#endif
        }
All Usage Examples Of System.Net.GlobalLog::SetThreadKind