-
Notifications
You must be signed in to change notification settings - Fork 3
/
IWebContext.cs
46 lines (38 loc) · 1.22 KB
/
IWebContext.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System.Security.Principal;
using Inversion.Process;
namespace Inversion.Web {
/// <summary>
/// Extends the process context with web specific
/// information about an individual request being processed.
/// </summary>
/// <remarks>
/// The context object is threaded through the whole stack
/// and provides a controled pattern and workflow of state,
/// along with access to resources and services external
/// to the application. Everything hangs off the context.
/// </remarks>
public interface IWebContext: IProcessContext {
/// <summary>
/// Provides access to the running web application
/// to which this context belongs.
/// </summary>
IWebApplication Application { get; }
/// <summary>
/// Gives access to the web response of this context.
/// </summary>
IWebResponse Response { get; }
/// <summary>
/// Gives access to the web request for this context.
/// </summary>
IWebRequest Request { get; }
/// <summary>
/// Gives access to the `IPrinciple` user object that represents
/// the current user for this context.
/// </summary>
IPrincipal User { get; set; }
/// <summary>
/// Indicates completion of processing for this context.
/// </summary>
void Completed();
}
}