LogRecordSequence.Append Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee schrijft u een logboekrecord naar de IRecordSequence.
Overloads
| Name | Description |
|---|---|
| Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection) |
Voegt een logboekrecord toe aan de IRecordSequence, met behulp van de ruimte die eerder in de reeks is gereserveerd. Deze methode kan niet worden overgenomen. |
| Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection) |
Voegt een logboekrecord toe aan de IRecordSequence, met behulp van de ruimte die eerder in de reeks is gereserveerd. Deze methode kan niet worden overgenomen. |
| Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions) |
Hiermee schrijft u een logboekrecord naar de LogRecordSequence. Deze methode kan niet worden overgenomen. |
| Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions) |
Voegt een logboekrecord toe aan de IRecordSequence. Deze methode kan niet worden overgenomen. |
Voorbeelden
In dit voorbeeld ziet u hoe u het Append lid gebruikt
// Append records. Appending three records.
public void AppendRecords()
{
Console.WriteLine("Appending Log Records...");
SequenceNumber previous = SequenceNumber.Invalid;
previous = sequence.Append(CreateData("Hello World!"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
previous = sequence.Append(CreateData("This is my first Logging App"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
previous = sequence.Append(CreateData("Using LogRecordSequence..."), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
Console.WriteLine("Done...");
}
' Append records. Appending three records.
Public Sub AppendRecords()
Console.WriteLine("Appending Log Records...")
Dim previous As SequenceNumber = SequenceNumber.Invalid
previous = sequence.Append(CreateData("Hello World!"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
previous = sequence.Append(CreateData("This is my first Logging App"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
previous = sequence.Append(CreateData("Using LogRecordSequence..."), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
Console.WriteLine("Done...")
End Sub
Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection)
Voegt een logboekrecord toe aan de IRecordSequence, met behulp van de ruimte die eerder in de reeks is gereserveerd. Deze methode kan niet worden overgenomen.
public:
virtual System::IO::Log::SequenceNumber Append(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations);
public System.IO.Log.SequenceNumber Append(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations);
abstract member Append : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
override this.Append : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
Public Function Append (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection) As SequenceNumber
Parameters
- data
- ArraySegment<Byte>
Een lijst met bytematrixsegmenten die als record worden samengevoegd en toegevoegd.
- nextUndoRecord
- SequenceNumber
Het volgnummer van de volgende record in de door de gebruiker opgegeven volgorde.
- previousRecord
- SequenceNumber
Het volgnummer van de volgende record in vorige volgorde.
- recordAppendOptions
- RecordAppendOptions
Een geldige waarde hiervan RecordAppendOptions geeft aan hoe de gegevens moeten worden geschreven.
- reservations
- ReservationCollection
Een ReservationCollection die de reservering bevat die moet worden gebruikt voor deze record.
Retouren
Het volgnummer van de toegevoegde logboekrecord.
Implementeringen
Uitzonderingen
userRecord of previousRecord is niet geldig voor deze reeks.
– of –
data kan niet worden toegevoegd omdat deze groter is dan de maximale recordgrootte.
– of –
reservations is niet gemaakt door deze recordreeks.
Een of meer van de argumenten zijn null.
userRecord of previousRecord zich niet tussen de basis- en laatste reeksnummers van deze reeks bevindt.
De aanvraag kan niet worden uitgevoerd vanwege een onverwachte I/O-uitzondering.
– of –
De aanvraag kan niet worden uitgevoerd vanwege een I/O-apparaatfout.
De bewerking kan niet worden uitgevoerd omdat de recordreeks is geopend met alleen-lezentoegang.
De methode is aangeroepen nadat de reeks is verwijderd.
Er is onvoldoende geheugen om door te gaan met de uitvoering van het programma.
De recordreeks is vol.
De toegang voor de opgegeven logboekreeks wordt geweigerd door het besturingssysteem.
Er is geen reservering groot genoeg om in te passendata.reservations
Opmerkingen
Gegevens in de data parameter worden samengevoegd in één bytematrix voor het toevoegen als record. Er wordt echter geen inrichting gemaakt voor het terugsplitsen van gegevens in matrixsegmenten wanneer de record wordt gelezen.
De toegevoegde record verbruikt ruimte die eerder is gereserveerd, met behulp van een reservering die is opgegeven door de reservations parameter. Als de toevoeg slaagt, wordt het kleinste reserveringsgebied gebruikt dat de gegevens kan bevatten en wordt dat reserveringsgebied uit de verzameling verwijderd.
Normaal gesproken wordt deze methode voltooid voordat de record is geschreven. Als u ervoor wilt zorgen dat een record is geschreven, geeft u de ForceFlush vlag op met behulp van de recordAppendOptions parameter of roept u de methode aan Flush .
Van toepassing op
Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection)
Voegt een logboekrecord toe aan de IRecordSequence, met behulp van de ruimte die eerder in de reeks is gereserveerd. Deze methode kan niet worden overgenomen.
public:
virtual System::IO::Log::SequenceNumber Append(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations);
public System.IO.Log.SequenceNumber Append(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations);
abstract member Append : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
override this.Append : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
Public Function Append (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection) As SequenceNumber
Parameters
- data
- IList<ArraySegment<Byte>>
Een lijst met bytematrixsegmenten die als record worden samengevoegd en toegevoegd.
- userRecord
- SequenceNumber
Het volgnummer van de volgende record in de door de gebruiker opgegeven volgorde.
- previousRecord
- SequenceNumber
Het volgnummer van de volgende record in vorige volgorde.
- recordAppendOptions
- RecordAppendOptions
Een geldige waarde hiervan RecordAppendOptions geeft aan hoe de gegevens moeten worden geschreven.
- reservations
- ReservationCollection
Een ReservationCollection die de reservering bevat die moet worden gebruikt voor deze record.
Retouren
Het volgnummer van de toegevoegde logboekrecord.
Implementeringen
Uitzonderingen
userRecord of previousRecord is niet geldig voor deze reeks.
– of –
data kan niet worden toegevoegd omdat deze groter is dan de maximale recordgrootte.
– of –
reservations is niet gemaakt door deze recordreeks.
Een of meer van de argumenten zijn null.
userRecord of previousRecord zich niet tussen de basis- en laatste reeksnummers van deze reeks bevindt.
De aanvraag kan niet worden uitgevoerd vanwege een onverwachte I/O-uitzondering.
– of –
De aanvraag kan niet worden uitgevoerd vanwege een I/O-apparaatfout.
De bewerking kan niet worden uitgevoerd omdat de recordreeks is geopend met alleen-lezentoegang.
De methode is aangeroepen nadat de reeks is verwijderd.
Er is onvoldoende geheugen om door te gaan met de uitvoering van het programma.
De recordreeks is vol.
De toegang voor de opgegeven logboekreeks wordt geweigerd door het besturingssysteem.
Er is geen reservering groot genoeg om in te passendata.reservations
Opmerkingen
Gegevens in de data parameter worden samengevoegd in één bytematrix voor het toevoegen als record. Er wordt echter geen inrichting gemaakt voor het terugsplitsen van gegevens in matrixsegmenten wanneer de record wordt gelezen.
De toegevoegde record verbruikt ruimte die eerder is gereserveerd, met behulp van een reservering die is opgegeven door de reservations parameter. Als de toevoeg slaagt, wordt het kleinste reserveringsgebied gebruikt dat de gegevens kan bevatten en wordt dat reserveringsgebied uit de verzameling verwijderd.
Normaal gesproken wordt deze methode voltooid voordat de record is geschreven. Als u ervoor wilt zorgen dat een record is geschreven, geeft u de ForceFlush vlag op met behulp van de recordAppendOptions parameter of roept u de methode aan Flush .
Van toepassing op
Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions)
Hiermee schrijft u een logboekrecord naar de LogRecordSequence. Deze methode kan niet worden overgenomen.
public:
virtual System::IO::Log::SequenceNumber Append(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions);
public System.IO.Log.SequenceNumber Append(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions);
abstract member Append : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions -> System.IO.Log.SequenceNumber
override this.Append : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions -> System.IO.Log.SequenceNumber
Public Function Append (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions) As SequenceNumber
Parameters
- data
- ArraySegment<Byte>
Een lijst met bytematrixsegmenten die als record worden samengevoegd en toegevoegd.
- nextUndoRecord
- SequenceNumber
Het volgnummer van de volgende record in de door de gebruiker opgegeven volgorde.
- previousRecord
- SequenceNumber
Het volgnummer van de volgende record in vorige volgorde.
- recordAppendOptions
- RecordAppendOptions
Een geldige waarde hiervan RecordAppendOptions geeft aan hoe de gegevens moeten worden geschreven.
Retouren
Het volgnummer van de toegevoegde logboekrecord.
Implementeringen
Uitzonderingen
userRecord of previousRecord is niet geldig voor deze reeks.
– of –
data kan niet worden toegevoegd omdat deze groter is dan de maximale recordgrootte.
– of –
reservations is niet gemaakt door deze recordreeks.
Een of meer van de argumenten zijn null.
userRecord of previousRecord zich niet tussen de basis- en laatste reeksnummers van deze reeks bevindt.
De aanvraag kan niet worden uitgevoerd vanwege een onverwachte I/O-uitzondering.
– of –
De aanvraag kan niet worden uitgevoerd vanwege een I/O-apparaatfout.
De bewerking kan niet worden uitgevoerd omdat de recordreeks is geopend met alleen-lezentoegang.
De methode is aangeroepen nadat de reeks is verwijderd.
Er is onvoldoende geheugen om door te gaan met de uitvoering van het programma.
De recordreeks is vol.
De toegang voor de opgegeven logboekreeks wordt geweigerd door het besturingssysteem.
Voorbeelden
In het volgende voorbeeld ziet u hoe u deze methode gebruikt om een logboekrecord toe te voegen aan de reeks.
// Start Appending in two streams with interleaving appends.
SequenceNumber previous1 = SequenceNumber.Invalid;
SequenceNumber previous2 = SequenceNumber.Invalid;
Console.WriteLine("Appending interleaving records in stream1 and stream2...");
Console.WriteLine();
// Append two records in stream1.
previous1 = sequence1.Append(
CreateData("MyLogStream1: Hello World!"),
SequenceNumber.Invalid,
SequenceNumber.Invalid,
RecordAppendOptions.ForceFlush);
previous1 = sequence1.Append(
CreateData("MyLogStream1: This is my first Logging App"),
previous1,
previous1,
RecordAppendOptions.ForceFlush);
// Append two records in stream2.
previous2 = sequence2.Append(
CreateData("MyLogStream2: Hello World!"),
SequenceNumber.Invalid,
SequenceNumber.Invalid,
RecordAppendOptions.ForceFlush);
previous2 = sequence2.Append(
CreateData("MyLogStream2: This is my first Logging App"),
previous2,
previous2,
RecordAppendOptions.ForceFlush);
// Append the third record in stream1.
previous1 = sequence1.Append(CreateData(
"MyLogStream1: Using LogRecordSequence..."),
previous1,
previous1,
RecordAppendOptions.ForceFlush);
// Append the third record in stream2.
previous2 = sequence2.Append(
CreateData("MyLogStream2: Using LogRecordSequence..."),
previous2,
previous2,
RecordAppendOptions.ForceFlush);
' Start Appending in two streams with interleaving appends.
Dim previous1 As SequenceNumber = SequenceNumber.Invalid
Dim previous2 As SequenceNumber = SequenceNumber.Invalid
Console.WriteLine("Appending interleaving records in stream1 and stream2...")
Console.WriteLine()
' Append two records in stream1.
previous1 = sequence1.Append(CreateData("MyLogStream1: Hello World!"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
previous1 = sequence1.Append(CreateData("MyLogStream1: This is my first Logging App"), previous1, previous1, RecordAppendOptions.ForceFlush)
' Append two records in stream2.
previous2 = sequence2.Append(CreateData("MyLogStream2: Hello World!"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
previous2 = sequence2.Append(CreateData("MyLogStream2: This is my first Logging App"), previous2, previous2, RecordAppendOptions.ForceFlush)
' Append the third record in stream1.
previous1 = sequence1.Append(CreateData("MyLogStream1: Using LogRecordSequence..."), previous1, previous1, RecordAppendOptions.ForceFlush)
' Append the third record in stream2.
previous2 = sequence2.Append(CreateData("MyLogStream2: Using LogRecordSequence..."), previous2, previous2, RecordAppendOptions.ForceFlush)
Opmerkingen
Gegevens in de data parameter worden samengevoegd in één bytematrix voor het toevoegen als record. Er wordt echter geen inrichting gemaakt voor het terugsplitsen van gegevens in matrixsegmenten wanneer de record wordt gelezen.
Normaal gesproken wordt deze methode voltooid voordat de record is geschreven. Als u ervoor wilt zorgen dat een record is geschreven, geeft u de ForceFlush vlag op met behulp van de recordAppendOptions parameter of roept u de methode aan Flush .
Van toepassing op
Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions)
Voegt een logboekrecord toe aan de IRecordSequence. Deze methode kan niet worden overgenomen.
public:
virtual System::IO::Log::SequenceNumber Append(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions);
public System.IO.Log.SequenceNumber Append(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions);
abstract member Append : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions -> System.IO.Log.SequenceNumber
override this.Append : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions -> System.IO.Log.SequenceNumber
Public Function Append (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions) As SequenceNumber
Parameters
- data
- IList<ArraySegment<Byte>>
Een lijst met bytematrixsegmenten die als record worden samengevoegd en toegevoegd.
- userRecord
- SequenceNumber
Het volgnummer van de volgende record in de door de gebruiker opgegeven volgorde.
- previousRecord
- SequenceNumber
Het volgnummer van de volgende record in vorige volgorde.
- recordAppendOptions
- RecordAppendOptions
Een geldige waarde hiervan RecordAppendOptions geeft aan hoe de gegevens moeten worden geschreven.
Retouren
Het volgnummer van de toegevoegde logboekrecord.
Implementeringen
Uitzonderingen
userRecord of previousRecord is niet geldig voor deze reeks.
– of –
data kan niet worden toegevoegd omdat deze groter is dan de maximale recordgrootte.
– of –
reservations is niet gemaakt door deze recordreeks.
Een of meer van de argumenten zijn null.
userRecord of previousRecord zich niet tussen de basis- en laatste reeksnummers van deze reeks bevindt.
De aanvraag kan niet worden uitgevoerd vanwege een onverwachte I/O-uitzondering.
– of –
De aanvraag kan niet worden uitgevoerd vanwege een I/O-apparaatfout.
De bewerking kan niet worden uitgevoerd omdat de recordreeks is geopend met alleen-lezentoegang.
De methode is aangeroepen nadat de reeks is verwijderd.
Er is onvoldoende geheugen om door te gaan met de uitvoering van het programma.
De recordreeks is vol.
De toegang voor de opgegeven logboekreeks wordt geweigerd door het besturingssysteem.
Opmerkingen
Gegevens in de data parameter worden samengevoegd in één bytematrix voor het toevoegen als record. Er wordt echter geen inrichting gemaakt voor het terugsplitsen van gegevens in matrixsegmenten wanneer de record wordt gelezen.
Normaal gesproken wordt deze methode voltooid voordat de record is geschreven. Als u ervoor wilt zorgen dat een record is geschreven, geeft u de ForceFlush vlag op met behulp van de recordAppendOptions parameter of roept u de methode aan Flush .