HybridCache.GetOrCreateAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
多載
GetOrCreateAsync<T>(ReadOnlySpan<Char>, Func<HybridCacheEntryContext, CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<T>(ReadOnlySpan<char> key, Func<Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : ReadOnlySpan<char> * Func<Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of T) (key As ReadOnlySpan(Of Char), factory As Func(Of HybridCacheEntryContext, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- T
所考慮的資料類型。
參數
- key
- ReadOnlySpan<Char>
入口的鑰匙是尋找或創造的。
- factory
- Func<HybridCacheEntryContext,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。 傳入工廠後 HybridCacheEntryContext ,能根據結果影響快取進入選項。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<T>(ReadOnlySpan<Char>, Func<CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<T>(ReadOnlySpan<char> key, Func<System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : ReadOnlySpan<char> * Func<System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of T) (key As ReadOnlySpan(Of Char), factory As Func(Of CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- T
所考慮的資料類型。
參數
- key
- ReadOnlySpan<Char>
入口的鑰匙是尋找或創造的。
- factory
- Func<CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<T>(DefaultInterpolatedStringHandler, Func<HybridCacheEntryContext, CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<T>(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, Func<Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : DefaultInterpolatedStringHandler * Func<Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of T) (ByRef key As DefaultInterpolatedStringHandler, factory As Func(Of HybridCacheEntryContext, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- T
所考慮的資料類型。
參數
入口的鑰匙是尋找或創造的。
- factory
- Func<HybridCacheEntryContext,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。 傳入工廠後 HybridCacheEntryContext ,能根據結果影響快取進入選項。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<T>(DefaultInterpolatedStringHandler, Func<CancellationToken, ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<T>(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, Func<System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : DefaultInterpolatedStringHandler * Func<System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of T) (ByRef key As DefaultInterpolatedStringHandler, factory As Func(Of CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- T
所考慮的資料類型。
參數
入口的鑰匙是尋找或創造的。
- factory
- Func<CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<T>(String, Func<HybridCacheEntryContext,CancellationToken, ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<T>(string key, Func<Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : string * Func<Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of T) (key As String, factory As Func(Of HybridCacheEntryContext, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- T
所考慮的資料類型。
參數
- key
- String
入口的鑰匙是尋找或創造的。
- factory
- Func<HybridCacheEntryContext,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。 傳入工廠後 HybridCacheEntryContext ,能根據結果影響快取進入選項。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<T>(String, Func<CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<T>(string key, Func<System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : string * Func<System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of T) (key As String, factory As Func(Of CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- T
所考慮的資料類型。
參數
- key
- String
入口的鑰匙是尋找或創造的。
- factory
- Func<CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<TState,T>(String, TState, Func<TState,CancellationToken, ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public abstract System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<TState,T>(string key, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetOrCreateAsync : string * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public MustOverride Function GetOrCreateAsync(Of TState, T) (key As String, state As TState, factory As Func(Of TState, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- TState
所需的 factory額外狀態類型。
- T
所考慮的資料類型。
參數
- key
- String
入口的鑰匙是尋找或創造的。
- state
- TState
所需的 factory狀態。
- factory
- Func<TState,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<TState,T>(String, TState, Func<TState,HybridCacheEntryContext, CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public virtual System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<TState,T>(string key, TState state, Func<TState,Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetOrCreateAsync : string * 'State * Func<'State, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
override this.GetOrCreateAsync : string * 'State * Func<'State, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Overridable Function GetOrCreateAsync(Of TState, T) (key As String, state As TState, factory As Func(Of TState, HybridCacheEntryContext, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- TState
所需的 factory額外狀態類型。
- T
所考慮的資料類型。
參數
- key
- String
入口的鑰匙是尋找或創造的。
- state
- TState
所需的 factory狀態。
- factory
- Func<TState,HybridCacheEntryContext,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。 傳入工廠後 HybridCacheEntryContext ,能根據結果影響快取進入選項。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<TState,T>(DefaultInterpolatedStringHandler, TState, Func<TState,CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<TState,T>(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : DefaultInterpolatedStringHandler * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of TState, T) (ByRef key As DefaultInterpolatedStringHandler, state As TState, factory As Func(Of TState, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- TState
所需的 factory額外狀態類型。
- T
所考慮的資料類型。
參數
入口的鑰匙是尋找或創造的。
- state
- TState
所需的 factory狀態。
- factory
- Func<TState,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<TState,T>(ReadOnlySpan<Char>, TState, Func<TState, CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public virtual System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<TState,T>(ReadOnlySpan<char> key, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetOrCreateAsync : ReadOnlySpan<char> * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
override this.GetOrCreateAsync : ReadOnlySpan<char> * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Overridable Function GetOrCreateAsync(Of TState, T) (key As ReadOnlySpan(Of Char), state As TState, factory As Func(Of TState, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- TState
所需的 factory額外狀態類型。
- T
所考慮的資料類型。
參數
- key
- ReadOnlySpan<Char>
入口的鑰匙是尋找或創造的。
- state
- TState
所需的 factory狀態。
- factory
- Func<TState,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
備註
實作者可利用金鑰範圍嘗試本地快取同步「取得」,而無需將金鑰作為 String。
適用於
GetOrCreateAsync<TState,T>(ReadOnlySpan<Char>, TState, Func<TState, HybridCacheEntryContext,CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public virtual System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<TState,T>(ReadOnlySpan<char> key, TState state, Func<TState,Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetOrCreateAsync : ReadOnlySpan<char> * 'State * Func<'State, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
override this.GetOrCreateAsync : ReadOnlySpan<char> * 'State * Func<'State, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Overridable Function GetOrCreateAsync(Of TState, T) (key As ReadOnlySpan(Of Char), state As TState, factory As Func(Of TState, HybridCacheEntryContext, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- TState
所需的 factory額外狀態類型。
- T
所考慮的資料類型。
參數
- key
- ReadOnlySpan<Char>
入口的鑰匙是尋找或創造的。
- state
- TState
所需的 factory狀態。
- factory
- Func<TState,HybridCacheEntryContext,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。 傳入工廠後 HybridCacheEntryContext ,能根據結果影響快取進入選項。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。
適用於
GetOrCreateAsync<TState,T>(DefaultInterpolatedStringHandler, TState, Func<TState,HybridCacheEntryContext,CancellationToken,ValueTask<T>>, HybridCacheEntryOptions, IEnumerable<String>, CancellationToken)
如果鍵值存在,則非同步取得該鍵的值;若找不到鍵,則用提供的鍵與工廠的值產生新條目。
public System.Threading.Tasks.ValueTask<T> GetOrCreateAsync<TState,T>(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, TState state, Func<TState,Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = default, System.Collections.Generic.IEnumerable<string>? tags = default, System.Threading.CancellationToken cancellationToken = default);
member this.GetOrCreateAsync : DefaultInterpolatedStringHandler * 'State * Func<'State, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryContext, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions * seq<string> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public Function GetOrCreateAsync(Of TState, T) (ByRef key As DefaultInterpolatedStringHandler, state As TState, factory As Func(Of TState, HybridCacheEntryContext, CancellationToken, ValueTask(Of T)), Optional options As HybridCacheEntryOptions = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
類型參數
- TState
所需的 factory額外狀態類型。
- T
所考慮的資料類型。
參數
入口的鑰匙是尋找或創造的。
- state
- TState
所需的 factory狀態。
- factory
- Func<TState,HybridCacheEntryContext,CancellationToken,ValueTask<T>>
若快取中資料無法取得,則提供底層資料服務。 傳入工廠後 HybridCacheEntryContext ,能根據結果影響快取進入選項。
- options
- HybridCacheEntryOptions
此快取條目有額外選項。
- tags
- IEnumerable<String>
這些標籤要與這個快取項目關聯。
- cancellationToken
- CancellationToken
它們 CancellationToken 用來傳播該操作應該被取消的通知。
傳回
資料來自快取或底層資料服務。