Exemple #1
0
 // Must call this from derived class' constructors.
 protected void BaseConstruction(Interop.HttpApi.HTTP_REQUEST *requestBlob)
 {
     if (requestBlob != null)
     {
         _memoryBlob = requestBlob;
     }
 }
Exemple #2
0
 // ReleasePins() should be called exactly once.  It must be called before Dispose() is called, which means it must be called
 // before an object (HttpListenerRequest) which closes the RequestContext on demand is returned to the application.
 internal void ReleasePins()
 {
     Debug.Assert(_memoryBlob != null || _backingBuffer == IntPtr.Zero, "RequestContextBase::ReleasePins()|ReleasePins() called twice.");
     _originalBlobAddress = _memoryBlob;
     UnsetBlob();
     OnReleasePins();
 }
Exemple #3
0
 // ReleasePins() should be called exactly once.  It must be called before Dispose() is called, which means it must be called
 // before an object (HttpListenerReqeust) which closes the RequestContext on demand is returned to the application.
 internal void ReleasePins()
 {
     Debug.Assert(_memoryBlob != null || _backingBuffer == null, "RequestContextBase::ReleasePins()|ReleasePins() called twice.");
     _originalBlobAddress = _memoryBlob;
     UnsetBlob();
     OnReleasePins();
 }
 protected void UnsetBlob()
 {
     if (_memoryBlob != null)
     {
         GC.SuppressFinalize(this);
     }
     _memoryBlob = null;
 }
Exemple #5
0
        protected void SetBlob(Interop.HttpApi.HTTP_REQUEST *requestBlob)
        {
            Debug.Assert(_memoryBlob != null || _backingBuffer == IntPtr.Zero, "RequestContextBase::Dispose()|SetBlob() called after ReleasePins().");
            if (requestBlob == null)
            {
                UnsetBlob();
                return;
            }

            _memoryBlob = requestBlob;
        }
Exemple #6
0
 // Must call this from derived class' constructors.
 protected void BaseConstruction(Interop.HttpApi.HTTP_REQUEST* requestBlob)
 {
     if (requestBlob == null)
     {
         GC.SuppressFinalize(this);
     }
     else
     {
         _memoryBlob = requestBlob;
     }
 }
 // Must call this from derived class' constructors.
 protected void BaseConstruction(Interop.HttpApi.HTTP_REQUEST *requestBlob)
 {
     if (requestBlob == null)
     {
         GC.SuppressFinalize(this);
     }
     else
     {
         _memoryBlob = requestBlob;
     }
 }
Exemple #8
0
 protected void UnsetBlob()
 {
     _memoryBlob = null;
 }
Exemple #9
0
        protected void SetBlob(Interop.HttpApi.HTTP_REQUEST* requestBlob)
        {
            Debug.Assert(_memoryBlob != null || _backingBuffer == null, "RequestContextBase::Dispose()|SetBlob() called after ReleasePins().");
            if (requestBlob == null)
            {
                UnsetBlob();
                return;
            }

            if (_memoryBlob == null)
            {
                GC.ReRegisterForFinalize(this);
            }
            _memoryBlob = requestBlob;
        }
Exemple #10
0
 protected void UnsetBlob()
 {
     if (_memoryBlob != null)
     {
         GC.SuppressFinalize(this);
     }
     _memoryBlob = null;
 }