© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•3y ago•
54 replies
SWEETPONY

❔ ✅ Can someone help me to change GetAwaiter().GetResult() to lazy?

I have this:
public class MessagingClientCache
{
    private readonly IMessagingClientFactory _messagingClientFactory;
    
    private readonly ConcurrentDictionary<string, IMessagingClient> _messagingClients = 
        new();

    public MessagingClientCache(IMessagingClientFactory messagingClientFactory)
    {
        _messagingClientFactory = messagingClientFactory;
    }
    
    public async Task<IMessagingClient> MessagingClientGet(string name) =>
        _messagingClients.GetOrAdd(
            key: name,
            valueFactory: _ => _messagingClientFactory.Create(name).GetAwaiter().GetResult());
}
public class MessagingClientCache
{
    private readonly IMessagingClientFactory _messagingClientFactory;
    
    private readonly ConcurrentDictionary<string, IMessagingClient> _messagingClients = 
        new();

    public MessagingClientCache(IMessagingClientFactory messagingClientFactory)
    {
        _messagingClientFactory = messagingClientFactory;
    }
    
    public async Task<IMessagingClient> MessagingClientGet(string name) =>
        _messagingClients.GetOrAdd(
            key: name,
            valueFactory: _ => _messagingClientFactory.Create(name).GetAwaiter().GetResult());
}


As I know
GetAwaiter().GetResult()
GetAwaiter().GetResult()
is not good and I should use lazy but I can't understand how it should look
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements
Next page

Similar Threads

Difference between await & GetAwaiter()/GetResult()
C#CC# / help
3y ago
can someone help me:(
C#CC# / help
2y ago
Is using GetAwaiter().GetResult() for async methods in constructor a hack!
C#CC# / help
2y ago