{"action":"opened","issue":{"url":"https://api.github.com/repos/smudge202/compose/issues/62","labels_url":"https://api.github.com/repos/smudge202/compose/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/smudge202/compose/issues/62/comments","events_url":"https://api.github.com/repos/smudge202/compose/issues/62/events","html_url":"https://github.com/smudge202/compose/issues/62","id":77655977,"number":62,"title":"Singletons resolved before services Extension","user":{"login":"smudge202","id":2247869,"avatar_url":"https://avatars.githubusercontent.com/u/2247869?v=3","gravatar_id":"","url":"https://api.github.com/users/smudge202","html_url":"https://github.com/smudge202","followers_url":"https://api.github.com/users/smudge202/followers","following_url":"https://api.github.com/users/smudge202/following{/other_user}","gists_url":"https://api.github.com/users/smudge202/gists{/gist_id}","starred_url":"https://api.github.com/users/smudge202/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smudge202/subscriptions","organizations_url":"https://api.github.com/users/smudge202/orgs","repos_url":"https://api.github.com/users/smudge202/repos","events_url":"https://api.github.com/users/smudge202/events{/privacy}","received_events_url":"https://api.github.com/users/smudge202/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/smudge202/compose/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/smudge202/compose/milestones/10","html_url":"https://github.com/smudge202/compose/milestones/0.1.4-beta","labels_url":"https://api.github.com/repos/smudge202/compose/milestones/10/labels","id":1104791,"number":10,"title":"0.1.4-beta","description":"","creator":{"login":"smudge202","id":2247869,"avatar_url":"https://avatars.githubusercontent.com/u/2247869?v=3","gravatar_id":"","url":"https://api.github.com/users/smudge202","html_url":"https://github.com/smudge202","followers_url":"https://api.github.com/users/smudge202/followers","following_url":"https://api.github.com/users/smudge202/following{/other_user}","gists_url":"https://api.github.com/users/smudge202/gists{/gist_id}","starred_url":"https://api.github.com/users/smudge202/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smudge202/subscriptions","organizations_url":"https://api.github.com/users/smudge202/orgs","repos_url":"https://api.github.com/users/smudge202/repos","events_url":"https://api.github.com/users/smudge202/events{/privacy}","received_events_url":"https://api.github.com/users/smudge202/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":2,"state":"open","created_at":"2015-05-11T13:26:28Z","updated_at":"2015-05-18T13:26:07Z","due_on":"2015-05-14T23:00:00Z","closed_at":null},"comments":0,"created_at":"2015-05-18T13:26:07Z","updated_at":"2015-05-18T13:26:07Z","closed_at":null,"body":"Compose will extend existing services in cases such as Transitioning. It does this by building a new underlying provider and an updated `IServiceCollection` which it tracks independently.\r\n\r\nSingletons are held outside of the underlying provider because recycling the underlying provider would cause the Singleton to be re-resolved (no longer Singleton).\r\n\r\nHowever, if a service relies on a singleton service, following a provider recycle, although direct resolution of the singleton would resolve the original instance, the consumer would in fact resolve a new instance of the singleton because the provider constructing the consumer does not have knowledge of the original singleton (held higher up)."}}