Avatar ·

C# में async Task<T> मेथड को synchronously कैसे execute करें?

सभी को नमस्ते! मैं C# (.NET Framework 4.7.2) में एक console application लिख रहा हूँ और एक समस्या का सामना कर रहा हूँ। मेरे पास एक async method है जो Task return करता है:\n\n```csharp\npublic async Task GetDataAsync()\n{\n using (var client = new HttpClient())\n {\n var result = await client.GetStringAsync("https://api.example.com/data");\n return result;\n }\n}\n```\n\nसमस्या यह है कि मैं इस method को synchronous context से call कर रहा हूँ, जैसे class constructor से या Main method से (जो async नहीं है)। मैं calling method को async नहीं बना सकता क्योंकि इससे architecture टूट जाएगा (उदाहरण के लिए, constructor async नहीं हो सकता)।\n\nमैंने अलग-अलग approaches try किए:\n- `GetDataAsync().Result` — program hang हो जाता है (deadlock)।\n- `GetDataAsync().GetAwaiter().GetResult()

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग