C# Class DotNetify.VMController

This class manages instantiations and updates of view models as requested by browser clients.
Inheritance: IDisposable
显示文件 Open project: dsuryd/dotNetify Class Usage Examples

Protected Properties

Property Type Description
_activeVMs VMInfo>.ConcurrentDictionary
_registeredAssemblies List
_vmResponse VMResponseDelegate
_vmTypes List

Public Methods

Method Description
Dispose ( ) : void

Disposes active view models.

OnDisposeVM ( string connectionId, string vmId ) : void

Handles request from a browser client to remove a view model.

OnRequestVM ( string connectionId, string vmId, object vmArg = null ) : void

Handles a request for a view model from a browser client.

OnUpdateVM ( string connectionId, string vmId, object>.Dictionary data ) : void

Handles view model update from a browser client.

RegisterAssembly ( Assembly vmAssembly ) : void

Registers all view model types in an assembly.

VMController ( VMResponseDelegate vmResponse ) : System

Constructor.

Protected Methods

Method Description
CreateVM ( string vmId, object vmArg = null ) : BaseVM

Creates a view model.

IsAuthorized ( BaseVM vmInstance ) : bool

Returns whether current security context is authorized to access a view model.

PushUpdates ( ) : void

Push property changed updates on all view models back to the client.

Serialize ( object data ) : string

Serializes an object.

UpdateVM ( BaseVM vmInstance, string vmPath, string newValue ) : void

Updates a value of a view model.

Private Methods

Method Description
VmInstance_RequestPushUpdates ( object sender, EventArgs e ) : void

Handles push updates request from a view model.

Method Details

CreateVM() protected method

Creates a view model.
protected CreateVM ( string vmId, object vmArg = null ) : BaseVM
vmId string Identifies the view model.
vmArg object Optional view model's initialization argument.
return BaseVM

Dispose() public method

Disposes active view models.
public Dispose ( ) : void
return void

IsAuthorized() protected method

Returns whether current security context is authorized to access a view model.
protected IsAuthorized ( BaseVM vmInstance ) : bool
vmInstance BaseVM View model instance.
return bool

OnDisposeVM() public method

Handles request from a browser client to remove a view model.
public OnDisposeVM ( string connectionId, string vmId ) : void
connectionId string Identifies the client connection.
vmId string Identifies the view model.
return void

OnRequestVM() public method

Handles a request for a view model from a browser client.
public OnRequestVM ( string connectionId, string vmId, object vmArg = null ) : void
connectionId string Identifies the client connection.
vmId string Identifies the view model.
vmArg object Optional view model's initialization argument.
return void

OnUpdateVM() public method

Handles view model update from a browser client.
public OnUpdateVM ( string connectionId, string vmId, object>.Dictionary data ) : void
connectionId string Identifies the client connection.
vmId string Identifies the view model.
data object>.Dictionary
return void

PushUpdates() protected method

Push property changed updates on all view models back to the client.
protected PushUpdates ( ) : void
return void

RegisterAssembly() public static method

Registers all view model types in an assembly.
public static RegisterAssembly ( Assembly vmAssembly ) : void
vmAssembly System.Reflection.Assembly Assembly.
return void

Serialize() protected method

Serializes an object.
protected Serialize ( object data ) : string
data object Data to serialize.
return string

UpdateVM() protected method

Updates a value of a view model.
protected UpdateVM ( BaseVM vmInstance, string vmPath, string newValue ) : void
vmInstance BaseVM View model instance.
vmPath string View model property path.
newValue string New value.
return void

VMController() public method

Constructor.
public VMController ( VMResponseDelegate vmResponse ) : System
vmResponse VMResponseDelegate Function invoked by the view model to provide response back to the client.
return System

Property Details

_activeVMs protected_oe property

Active instances of view models.
protected ConcurrentDictionary _activeVMs
return VMInfo>.ConcurrentDictionary

_registeredAssemblies protected_oe static_oe property

List of registered assemblies.
protected static List _registeredAssemblies
return List

_vmResponse protected_oe property

Function invoked by the view model to provide response back to the client.
protected VMResponseDelegate _vmResponse
return VMResponseDelegate

_vmTypes protected_oe static_oe property

List of known view model classes.
protected static List _vmTypes
return List