annotate Implab/Components/App.cs @ 187:dd4a3590f9c6 ref20160224

Reworked cancelation handling, if the cancel handler isn't specified the OperationCanceledException will be handled by the error handler Any unhandled OperationCanceledException will cause the promise cancelation
author cin
date Tue, 19 Apr 2016 17:35:20 +0300
parents b933ec88446e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
240aa6994018 component model refactoring
cin
parents:
diff changeset
1 using System;
240aa6994018 component model refactoring
cin
parents:
diff changeset
2 using System.Collections.Generic;
240aa6994018 component model refactoring
cin
parents:
diff changeset
3
240aa6994018 component model refactoring
cin
parents:
diff changeset
4 namespace Implab.Components {
240aa6994018 component model refactoring
cin
parents:
diff changeset
5 /// <summary>
240aa6994018 component model refactoring
cin
parents:
diff changeset
6 /// Global application components and services.
240aa6994018 component model refactoring
cin
parents:
diff changeset
7 /// </summary>
240aa6994018 component model refactoring
cin
parents:
diff changeset
8 public static class App {
240aa6994018 component model refactoring
cin
parents:
diff changeset
9 readonly static ComponentContainer<object> _root = new ComponentContainer<object>();
240aa6994018 component model refactoring
cin
parents:
diff changeset
10
153
cin
parents: 152
diff changeset
11 /// <summary>
cin
parents: 152
diff changeset
12 /// The container for application level components.
cin
parents: 152
diff changeset
13 /// </summary>
cin
parents: 152
diff changeset
14 /// <remarks>Pools of disposable objects can be placed here and they will be automatically
cin
parents: 152
diff changeset
15 /// disposed when application domain is unloaded.</remarks>
152
240aa6994018 component model refactoring
cin
parents:
diff changeset
16 public static ICollection<object> RootContainer {
240aa6994018 component model refactoring
cin
parents:
diff changeset
17 get { return _root; }
240aa6994018 component model refactoring
cin
parents:
diff changeset
18 }
240aa6994018 component model refactoring
cin
parents:
diff changeset
19
240aa6994018 component model refactoring
cin
parents:
diff changeset
20 static App() {
153
cin
parents: 152
diff changeset
21 AppDomain.CurrentDomain.DomainUnload += (sender, e) => _root.Dispose();
152
240aa6994018 component model refactoring
cin
parents:
diff changeset
22 }
240aa6994018 component model refactoring
cin
parents:
diff changeset
23 }
240aa6994018 component model refactoring
cin
parents:
diff changeset
24 }
240aa6994018 component model refactoring
cin
parents:
diff changeset
25