// 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() { GlobalLog.Assert(m_MemoryBlob != null || m_BackingBuffer == null, "RequestContextBase::ReleasePins()|ReleasePins() called twice."); m_OriginalBlobAddress = m_MemoryBlob; UnsetBlob(); OnReleasePins(); }
protected unsafe void UnsetBlob() { if (this.m_MemoryBlob != null) { GC.SuppressFinalize(this); } this.m_MemoryBlob = null; }
private void UnsetBlob() { if (_memoryBlob != null) { GC.SuppressFinalize(this); } _memoryBlob = null; }
protected unsafe void BaseConstruction(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob) { if (requestBlob == null) { GC.SuppressFinalize(this); } else { this.m_MemoryBlob = requestBlob; } }
protected unsafe void BaseConstruction(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST* requestBlob) { if (requestBlob == null) { GC.SuppressFinalize(this); } else { this.m_MemoryBlob = requestBlob; } }
internal NativeRequestContext(AsyncAcceptContext result) { _acceptResult = result; UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob = Allocate(0); if (requestBlob == null) { GC.SuppressFinalize(this); } else { _memoryBlob = requestBlob; } }
protected unsafe void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob) { if (requestBlob == null) { this.UnsetBlob(); } else { if (this.m_MemoryBlob == null) { GC.ReRegisterForFinalize(this); } this.m_MemoryBlob = requestBlob; } }
protected unsafe void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST* requestBlob) { if (requestBlob == null) { this.UnsetBlob(); } else { if (this.m_MemoryBlob == null) { GC.ReRegisterForFinalize(this); } this.m_MemoryBlob = requestBlob; } }
private void SetBlob(UnsafeNclNativeMethods.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; }
internal unsafe void ReleasePins() { this.m_OriginalBlobAddress = this.m_MemoryBlob; this.UnsetBlob(); this.OnReleasePins(); }
protected void UnsetBlob() { if (m_MemoryBlob != null) { GC.SuppressFinalize(this); } m_MemoryBlob = null; }
protected void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST* requestBlob) { GlobalLog.Assert(m_MemoryBlob != null || m_BackingBuffer == null, "RequestContextBase::Dispose()|SetBlob() called after ReleasePins()."); if (requestBlob == null) { UnsetBlob(); return; } if (m_MemoryBlob == null) { GC.ReRegisterForFinalize(this); } m_MemoryBlob = requestBlob; }