मैं IUserStore के लिए एक कस्टम कार्यान्वयन लिख रहा हूं। बनाने की विधि के हस्ताक्षर है:IUserStore <TUser>CreateAsync: कस्टम कार्यान्वयन में विफलता का संकेत कैसे दें?
public async virtual Task CreateAsync(TUser user)
और वह (जो एक ही है) Microsoft.AspNet.Identity में मुख्य इंटरफ़ेस IUserStore विचार कर रहा है समझ में आता है।
हालांकि UserManager वर्ग Microsoft.AspNet.Identity में परिभाषित के इंटरफेस है:
public virtual Task<IdentityResult> CreateAsync(TUser user);
मेरे समस्या मैं नहीं दिख रहा है कि कैसे मैं में वापसी प्रकार के बाद से UserManager को यह IdentityResult पास करना चाहिए है दुकान बस "कार्य" है। मेरे पास यह निर्धारित करने के लिए एक कस्टम तर्क है कि कोई उपयोगकर्ता बनाया या नहीं बनाया जा सकता है, इसलिए मुझे UserManager में CreateAsync के परिणाम बताने की ज़रूरत है।
कोई विचार? वे हमेशा सच लौट
public virtual async Task<IdentityResult> CreateAsync(TUser user,
CancellationToken cancellationToken = default(CancellationToken))
{
ThrowIfDisposed();
await UpdateSecurityStampInternal(user, cancellationToken);
var result = await ValidateUserInternal(user, cancellationToken);
if (!result.Succeeded)
{
return result;
}
if (Options.Lockout.EnabledByDefault && SupportsUserLockout)
{
await GetUserLockoutStore().SetLockoutEnabledAsync(user, true, cancellationToken);
}
await UpdateNormalizedUserNameAsync(user, cancellationToken);
await Store.CreateAsync(user, cancellationToken);
return IdentityResult.Success;
}
तो मूल रूप से:
आपके आवेदन प्रवाह में, जब कोई उपयोगकर्ता नहीं बनाया जा सकता है, तो क्या यह एक असाधारण मामला है या निष्पादन के सामान्य प्रवाह का वह हिस्सा है? –
@YuvalItzchakov आपकी रुचि के लिए धन्यवाद! यह निष्पादन के सामान्य प्रवाह का हिस्सा है। अधिक संदर्भ देने के लिए, मैं एक अलग असेंबली में एएसपी। इडेंटिटी का अपना कस्टम कार्यान्वयन कर रहा हूं, यही कारण है कि मैं इस मामले को सीधे उपयोगकर्ता स्टोयर में संभालना चाहता हूं ताकि ग्राहक को तर्क तर्क – reddy