MessageBuffer 클래스

정의

나중에 사용하기 위해 전체 메시지를 저장하는 메모리 버퍼를 나타냅니다.Represents a memory buffer that stores an entire message for future consumption.

public ref class MessageBuffer abstract : IDisposable
public abstract class MessageBuffer : IDisposable
type MessageBuffer = class
    interface IDisposable
Public MustInherit Class MessageBuffer
Implements IDisposable
상속
MessageBuffer
구현

설명

Message 인스턴스의 본문은 한 번만 사용하거나 쓸 수 있습니다.The body of a Message instance can only be consumed or written once. Message 인스턴스를 여러 번 사용하려면 MessageBuffer 클래스를 사용하여 전체 Message 인스턴스를 메모리에 완전히 저장해야 합니다.If you wish to consume a Message instance more than once, you should use the MessageBuffer class to completely store an entire Message instance into memory.

MessageBuffer 인스턴스는 CreateBufferedCopy 인스턴스의 Message를 호출하여 생성됩니다.A MessageBuffer instance is constructed by calling CreateBufferedCopy of a Message instance. 그러면 MessageBuffer에 대해 소유권이 있는 것으로 간주하고 전체 내용을 메모리로 읽어오는 새 Message가 만들어져 반환됩니다.A new MessageBuffer is then created and returned, which assumes ownership of the Message and reads the entire content into memory.

Message의 복사본을 MessageBuffer에서 검색하려면 CreateMessageMessageBuffer 메서드를 호출해야 합니다.In order to retrieve a copy of a Message from the MessageBuffer, you must call the CreateMessage method of the MessageBuffer. 이 메서드는 제공된 원본 Message 인스턴스의 동일한 복사본을 반환합니다.This returns an identical copy of the original Message instance you provided.

BufferSize를 원하는 크기(바이트) 설정하여 최대 버퍼 크기를 제어할 수 있습니다.You can control the maximum size of the buffer by setting BufferSize to the maximum number of bytes desired. 버퍼 생성과 관련한 임시 할당이나 메시지에 연결된 속성을 이 값에 포함할 필요는 없습니다.This number does not necessarily cover any transient allocations related to building the buffer, or properties attached to the message.

작업이 끝나면 항상 MessageBuffer를 호출하여 Close 인스턴스를 닫아야 합니다.You should always close a MessageBuffer instance by calling Close when finished working with it. 이렇게 하면 시스템 리소스를 더 빠르게 해제할 수 있습니다.This allows system resources to potentially be freed sooner.

이 클래스에서 파생된 Managed C++ 사용자 관련 참고 사항:Special note for Managed C++ users deriving from this class:

  • 소멸자가 아니라 (On)(Begin)Close 및/또는 OnAbort에 정리 코드를 입력하십시오.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • 소멸자를 사용하지 마십시오. 소멸자를 사용하면 컴파일러에서 IDisposable을 자동으로 생성할 수 있습니다.Avoid destructors: they cause the compiler to auto-generate IDisposable

  • 비참조 멤버를 사용하지 마십시오. 비참조 멤버를 사용하면 컴파일러에서 IDisposable을 자동으로 생성할 수 있습니다.Avoid non-reference members: they can cause the compiler to auto-generate IDisposable

  • 종료자를 사용하지 마십시오. 그러나 종료자를 포함하는 경우 자동으로 생성되었을 SuppressFinalize(Object) 동작을 에뮬레이트하기 위해 빌드 경고를 표시하지 않고 (On)(Begin)Close 및/또는 OnAbort에서 IDisposable 및 해당 종료자를 호출해야 합니다.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) in order to emulate what would have been the auto-generated IDisposable behavior.

생성자

MessageBuffer()

MessageBuffer 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the MessageBuffer class.

속성

BufferSize

MessageBuffer에서 사용되는 대략적인 바이트 크기를 가져옵니다.Gets the approximate number of bytes consumed by this MessageBuffer.

MessageContentType

이 버퍼에 저장되는 메시지 콘텐츠의 형식을 가져옵니다.Gets the type of message content stored in this buffer.

메서드

Close()

버퍼 작업을 마칩니다.Finishes working with the buffer.

CreateMessage()

원본 메시지의 복사본을 반환합니다.Returns a copy of the original message.

CreateNavigator()

이 개체를 탐색하기 위한 새로운 XPathNavigator 개체를 만듭니다.Creates a new XPathNavigator object for navigating this object. 이 메서드는 상속될 수 없습니다.This method cannot be inherited.

CreateNavigator(Int32)

지정된 노드에 검색기를 배치하여 이 개체를 탐색하기 위한 새 XPathNavigator 개체를 만듭니다.Creates a new XPathNavigator object for navigating this object, with the navigator positioned on the node specified.

CreateNavigator(Int32, XmlSpace)

지정된 노드 및 XPathNavigator 범위에 검색기를 배치하여 이 개체를 탐색하기 위한 새 xml:space 개체를 만듭니다.Creates a new XPathNavigator object for navigating this object, with the navigator positioned on the specified node and xml:space scope.

CreateNavigator(XmlSpace)

지정된 XPathNavigator 범위를 사용하여 이 개체를 탐색하기 위한 새 xml:space 개체를 만듭니다.Creates a new XPathNavigator object for navigating this object, with the specified xml:space scope.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
WriteMessage(Stream)

이 버퍼의 전체 내용을 지정된 IO 스트림에 씁니다.Writes the entire content of this buffer to the specified IO stream.

명시적 인터페이스 구현

IDisposable.Dispose()

MessageBuffer에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the MessageBuffer and optionally releases the managed resources. 이 메서드는 상속될 수 없습니다.This method cannot be inherited.

적용 대상