IReliableStateManager.GetOrAddAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
GetOrAddAsync<T>(String) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(Uri) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(ITransaction, String) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(ITransaction, Uri) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(String, TimeSpan) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(Uri, TimeSpan) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(ITransaction, String, TimeSpan) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(ITransaction, Uri, TimeSpan) |
Ruft eine IReliableState des angegebenen Typs |
GetOrAddAsync<T>(String)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen, und gibt es zurück, wenn er noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (string name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : string -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As String) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung vom Benutzer nicht angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht angegeben ist oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- name
- String
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
name
ist NULL.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
.
Der Vorgang konnte innerhalb des Standardtimeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn der IReliableStateManager nicht in Primaryist.
Gibt an, dass der Reliable State Manager geschlossen ist.
Der Vorgang wurde intern vom System fehlerhaft. Wiederholen Sie den Vorgang.
Hinweise
Dies ist ein atomarer Vorgang. Wenn ein IReliableState erstellt werden muss, wird es entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt.
Gilt für:
GetOrAddAsync<T>(Uri)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen, und gibt es zurück, wenn er noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Uri name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Uri -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As Uri) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung vom Benutzer nicht angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht angegeben ist oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- name
- Uri
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
name
ist NULL.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
.
Der Vorgang konnte innerhalb des Standardtimeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn der IReliableStateManager nicht in Primaryist.
Gibt an, dass der Reliable State Manager geschlossen ist.
Der Vorgang wurde intern vom System fehlerhaft. Wiederholen Sie den Vorgang.
Hinweise
Dies ist ein atomarer Vorgang. Wenn ein IReliableState erstellt werden muss, wird es entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt.
Gilt für:
GetOrAddAsync<T>(ITransaction, String)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen, und gibt es zurück, wenn er noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, string name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * string -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As String) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung vom Benutzer nicht angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht angegeben ist oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- tx
- ITransaction
Transaktion, der dieser Vorgang zugeordnet werden soll.
- name
- String
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
tx
ist NULL oder name
null.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
.
Der Vorgang konnte innerhalb des Standardtimeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn der IReliableStateManager nicht in Primaryist.
Die Transaktion wurde intern vom System fehlerhaft gemacht. Wiederholen des Vorgangs für eine neue Transaktion
Wird ausgelöst, wenn ein Methodenaufruf für den aktuellen Zustand des Objekts ungültig ist. Beispiel: Die verwendete Transaktion ist bereits beendet: vom Benutzer zugesagt oder abgebrochen. Wenn diese Ausnahme ausgelöst wird, ist es sehr wahrscheinlich, dass im Dienstcode der Verwendung von Transaktionen ein Fehler vorliegt.
Gibt an, dass der Reliable State Manager geschlossen ist.
Hinweise
Dies ist ein atomarer Vorgang. Wenn ein IReliableState erstellt werden muss, wird es entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt. Wenn diese Methode eine Ausnahme auslöst, muss die Transaktion abgebrochen werden.
Gilt für:
GetOrAddAsync<T>(ITransaction, Uri)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen und gibt es zurück, wenn es noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, Uri name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * Uri -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As Uri) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung nicht vom Benutzer angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht bereitgestellt wird oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- tx
- ITransaction
Transaktion, der dieser Vorgang zugeordnet werden soll.
- name
- Uri
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
tx
ist NULL oder name
null.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
.
Der Vorgang konnte innerhalb des Standardtimeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn der IReliableStateManager nicht in Primaryist.
Die Transaktion wurde intern vom System fehlerhaft gemacht. Wiederholen des Vorgangs für eine neue Transaktion
Wird ausgelöst, wenn ein Methodenaufruf für den aktuellen Zustand des Objekts ungültig ist. Beispiel: Die verwendete Transaktion ist bereits beendet: vom Benutzer zugesagt oder abgebrochen. Wenn diese Ausnahme ausgelöst wird, ist es sehr wahrscheinlich, dass im Dienstcode der Verwendung von Transaktionen ein Fehler vorliegt.
Gibt an, dass der Reliable State Manager geschlossen ist.
Hinweise
Dies ist ein atomarer Vorgang. Wenn ein IReliableState erstellt werden muss, wird es entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt. Wenn diese Methode eine Ausnahme auslöst, muss die Transaktion abgebrochen werden.
Gilt für:
GetOrAddAsync<T>(String, TimeSpan)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen und gibt es zurück, wenn es noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (string name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : string * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As String, timeout As TimeSpan) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung nicht vom Benutzer angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht bereitgestellt wird oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- name
- String
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
- timeout
- TimeSpan
Die Zeitspanne, die auf den Abschluss des Vorgangs gewartet werden muss, bevor eine TimeoutException ausgelöst wird. Wird hauptsächlich verwendet, um Deadlocks zu verhindern. Der Standardwert ist 4 Sekunden.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
name
ist NULL.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
oder timeout
ist negativ.
Der Vorgang konnte innerhalb des angegebenen Timeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn sich nicht IReliableStateManager in befindet Primary.
Gibt an, dass der Reliable State Manager geschlossen ist.
Der Vorgang wurde intern vom System fehlerhaft. Wiederholen Sie den Vorgang.
Hinweise
Dies ist ein atomischer Vorgang. Wenn ein IReliableState erstellt werden muss, wird er entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt.
Gilt für:
GetOrAddAsync<T>(Uri, TimeSpan)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen und gibt es zurück, wenn es noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Uri name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Uri * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As Uri, timeout As TimeSpan) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung nicht vom Benutzer angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht bereitgestellt wird oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- name
- Uri
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
- timeout
- TimeSpan
Die Zeitspanne, die auf den Abschluss des Vorgangs gewartet werden muss, bevor eine TimeoutException ausgelöst wird. Wird hauptsächlich verwendet, um Deadlocks zu verhindern. Der Standardwert ist 4 Sekunden.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
name
ist NULL.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
oder timeout
ist negativ.
Der Vorgang konnte innerhalb des angegebenen Timeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn sich nicht IReliableStateManager in befindet Primary.
Gibt an, dass der Reliable State Manager geschlossen ist.
Der Vorgang wurde intern vom System fehlerhaft. Wiederholen Sie den Vorgang.
Hinweise
Dies ist ein atomischer Vorgang. Wenn ein IReliableState erstellt werden muss, wird er entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt.
Gilt für:
GetOrAddAsync<T>(ITransaction, String, TimeSpan)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen und gibt es zurück, wenn es noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, string name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * string * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As String, timeout As TimeSpan) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung nicht vom Benutzer angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht bereitgestellt wird oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- tx
- ITransaction
Transaktion, der dieser Vorgang zugeordnet werden soll.
- name
- String
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
- timeout
- TimeSpan
Die Zeitspanne, die auf den Abschluss des Vorgangs gewartet werden muss, bevor eine TimeoutException ausgelöst wird. Wird hauptsächlich verwendet, um Deadlocks zu verhindern. Der Standardwert ist 4 Sekunden.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
tx
ist NULL oder name
null.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
oder timeout
ist negativ.
Der Vorgang konnte innerhalb des angegebenen Timeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn sich nicht IReliableStateManager in befindet Primary.
Die Transaktion wurde intern vom System fehlerhaft gemacht. Wiederholen des Vorgangs für eine neue Transaktion
Wird ausgelöst, wenn ein Methodenaufruf für den aktuellen Zustand des Objekts ungültig ist. Beispiel: Die verwendete Transaktion wurde bereits beendet: Vom Benutzer committet oder abgebrochen. Wenn diese Ausnahme ausgelöst wird, ist es sehr wahrscheinlich, dass im Dienstcode der Verwendung von Transaktionen ein Fehler vorliegt.
Gibt an, dass der Reliable State Manager geschlossen ist.
Hinweise
Dies ist ein atomischer Vorgang. Wenn ein IReliableState erstellt werden muss, wird er entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt. Wenn diese Methode eine Ausnahme auslöst, muss die Transaktion abgebrochen werden.
Gilt für:
GetOrAddAsync<T>(ITransaction, Uri, TimeSpan)
Ruft eine IReliableState des angegebenen Typs T
und mit dem angegebenen Namen ab, falls vorhanden, oder erstellt einen und gibt es zurück, wenn es noch nicht vorhanden ist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, Uri name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * Uri * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As Uri, timeout As TimeSpan) As Task(Of T)
Typparameter
- T
Wenn Sie den IReliableState Typ angeben, können Sie entweder einen Klassentyp oder einen Schnittstellentyp anfordern.
Wenn Sie einen Klassentyp angeben, versucht das System, eine instance dieses Typs zurückzugeben. Wenn ein instance dieses Typs nicht instanziiert werden kann (z. B. abstrakte Klasse, kein geeigneter Konstruktor), wird eine ArgumentException ausgelöst.
Wenn Sie einen Schnittstellentyp angeben, versucht der Manager, die Schnittstelle in einen konkreten Typ aufzulösen. Wenn die Typzuordnung vom Benutzer angegeben wird, verwendet diese Methode die vom Benutzer angegebene Zuordnung, um den Typ aufzulösen (noch nicht unterstützt). Wenn die Typzuordnung nicht vom Benutzer angegeben wird, wählt diese Methode die Standardimplementierung für die angegebene Schnittstelle aus. Wenn der angegebene Schnittstellentyp keine Standardimplementierung aufweist oder eine vom Benutzer angegebene Zuordnung für den Typ nicht bereitgestellt wird oder der Typ ungültig ist, löst diese Methode ArgumentException aus.
Parameter
- tx
- ITransaction
Transaktion, der dieser Vorgang zugeordnet werden soll.
- name
- Uri
Der Name von IReliableState. Dieser Name muss in diesem IReliableStateManager typübergreifend IReliableState eindeutig sein, einschließlich nicht verwandter Typen.
- timeout
- TimeSpan
Die Zeitspanne, die auf den Abschluss des Vorgangs gewartet werden muss, bevor eine TimeoutException ausgelöst wird. Wird hauptsächlich verwendet, um Deadlocks zu verhindern. Der Standardwert ist 4 Sekunden.
Gibt zurück
Aufgabe, die den asynchronen Vorgang darstellt. Das Vorgangsergebnis ist der zuverlässige Zustand instance.
Ausnahmen
tx
ist NULL oder name
null.
Ein instance des Typs T
kann nicht erstellt werden, oder die vorhandene IReliableState instance ist nicht vom Typ T
oder timeout
ist negativ.
Der Vorgang konnte innerhalb des angegebenen Timeouts nicht abgeschlossen werden.
Wird ausgelöst, wenn sich nicht IReliableStateManager in befindet Primary.
Die Transaktion wurde intern vom System fehlerhaft gemacht. Wiederholen des Vorgangs für eine neue Transaktion
Wird ausgelöst, wenn ein Methodenaufruf für den aktuellen Zustand des Objekts ungültig ist. Beispiel: Die verwendete Transaktion wurde bereits beendet: Vom Benutzer committet oder abgebrochen. Wenn diese Ausnahme ausgelöst wird, ist es sehr wahrscheinlich, dass im Dienstcode der Verwendung von Transaktionen ein Fehler vorliegt.
Gibt an, dass der Reliable State Manager geschlossen ist.
Hinweise
Dies ist ein atomischer Vorgang. Wenn ein IReliableState erstellt werden muss, wird er entweder abgeschlossen und erfolgreich zurückgegeben, oder es wird nicht erstellt. Wenn diese Methode eine Ausnahme auslöst, muss die Transaktion abgebrochen werden.
Gilt für:
Azure SDK for .NET