{"action":"closed","issue":{"url":"https://api.github.com/repos/aspnet/Identity/issues/1668","repository_url":"https://api.github.com/repos/aspnet/Identity","labels_url":"https://api.github.com/repos/aspnet/Identity/issues/1668/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Identity/issues/1668/comments","events_url":"https://api.github.com/repos/aspnet/Identity/issues/1668/events","html_url":"https://github.com/aspnet/Identity/issues/1668","id":303111894,"number":1668,"title":"Support a synchronous API","user":{"login":"marcwittke","id":4075651,"avatar_url":"https://avatars1.githubusercontent.com/u/4075651?v=4","gravatar_id":"","url":"https://api.github.com/users/marcwittke","html_url":"https://github.com/marcwittke","followers_url":"https://api.github.com/users/marcwittke/followers","following_url":"https://api.github.com/users/marcwittke/following{/other_user}","gists_url":"https://api.github.com/users/marcwittke/gists{/gist_id}","starred_url":"https://api.github.com/users/marcwittke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcwittke/subscriptions","organizations_url":"https://api.github.com/users/marcwittke/orgs","repos_url":"https://api.github.com/users/marcwittke/repos","events_url":"https://api.github.com/users/marcwittke/events{/privacy}","received_events_url":"https://api.github.com/users/marcwittke/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-07T14:07:43Z","updated_at":"2018-03-29T19:20:14Z","closed_at":"2018-03-29T19:20:14Z","author_association":"NONE","body":"I know about the benefits of having async methods. But, however, there are always situations, that do not allow using the async/await pattern, often outside your control. My case is an encapsulated business domain that raises an event, that should be handled synchronously by `UserManager`.\r\n\r\nI also know there are various techniques to make this happen, however, I spent various days to find a possibility to do so, that does not deadlock in a single cpu environment (cheap azure build agent, cheap azure hosting), not only because it is really hard to reproduce that issue locally. Btw: I ended up with [this answer on SO](https://stackoverflow.com/a/5097066/164162), but to be honest: I am not able to explain, why this is better than `TaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult()` . It is proven to work by trial and error, what makes me feel not so comfortable.\r\n\r\nIs there a specific reason to force the consumer of ASP.Net Identity Core to the async pattern, except \"that's how it should be done today. basta.\"?"}}
{"actor":{"display_login":"blowdart"}}