Skip to content

Reactive.Logger.Hub

Apostolis Bekiaris edited this page Oct 10, 2019 · 16 revisions

GitHub issues GitHub close issues

About

The Reactive.Logger.Hub module can be used as a Server which you can install in your app to transmit the pipeLine flow or as a client that can connect and receive messages from the server. For more head to the details section.

The module uses the next two strategies:

  1. It monitors the DetailView creation and modifies its Reactive.Logger.Hub property according to model configuration. However later Reactive.Logger.Hub property modifications are allowed.
  2. It monitors the Reactive.Logger.Hub modifiation and cancels it if the LockReactive.Logger.Hub attribute is used.

Installation

  1. First you need the nuget package so issue this command to the VS Nuget package console

    Install-Package Xpand.XAF.Modules.Reactive.Logger.Hub.

    The above only references the dependencies and nexts steps are mandatory.

  2. Ways to Register a Module or simply add the next call to your module constructor

    RequiredModuleTypes.Add(typeof(Xpand.XAF.Modules.Reactive.Logger.HubModule));

The module is not integrated with any eXpandFramework module. You have to install it as described.

Versioning

The module is not bound to DevExpress versioning, which means you can use the latest version with your old DevExpress projects Read more.

The module follows the Nuget Version Basics.

Dependencies

.NetFramework:

DevExpress.ExpressApp Any
DevExpress.Xpo Any
Fasterflect.Xpand 2.0.6
MagicOnion 2.4.0
Rx.Net.Plus 1.1.10
system.buffers 4.5.0
System.Interactive.Async 3.2.0
System.Reactive 4.1.6
Xpand.XAF.Modules.Reactive 1.2.57
Xpand.XAF.Modules.Reactive.Logger 0.0.11
Xpand.VersionConverter 1.0.34

Issues-Debugging-Troubleshooting

To Step in the source code you need to enable Source Server support in your Visual Studio/Tools/Options/Debugging/Enable Source Server Support. See also How to boost your DevExpress Debugging Experience.

If the package is installed in a way that you do not have access to uninstall it, then you can unload it with the next call at the contructor of your module.

Xpand.XAF.Modules.Reactive.ReactiveModuleBase.Unload(typeof(Xpand.XAF.Modules.Reactive.Logger.Hub.ReactiveLoggerHubModule))

Details

  1. Client Mode To install it as a client the XafApplication descendant should implement the ILoggerHubClientApplication. Having so the application consult the model as to which ports should listen. image Once a TCP Listerner found in any of these ports the application will try to receive and persist all transmitted messages. There is already a Reactive.Logger.Client.exe you can use to monitor all reactive packages of this repository.
  2. Server Mode In this mode the application starts transmitting all messages. It transmits to a preconfigured port to all connected clients. You do not need to implement the ILoggerHubClientApplication as before just install the package as a regular XAF module. image The default port is the 61456 for all modules.

Tests

The module is tested on Azure for each build with these tests

Examples

Head to Reactive.Logger.Client.Win, Reactive.Logger

You can’t perform that action at this time.