Debugging MDrivenServer Serverside actions
No edit summary
No edit summary
Line 26: Line 26:
[[File:2019-09-09 13h55 32.png|none|thumb|x]]
[[File:2019-09-09 13h55 32.png|none|thumb|x]]
And then you will always see actions in the log at admin/Log.aspx:
And then you will always see actions in the log at admin/Log.aspx:
[[File:2019-09-09 13h59 22.png|none|thumb|1390x1390px|x]]
[[File:2019-09-09 13h59 22.png|none|thumb|1131x1131px|x]]


Notice the number hiliited in green - this number binds one server job together - there may be many jobs going in parallel - and the log will be mixed - but the number will help you see what belongs to what.
Notice the number hiliited in green - this number binds one server job together - there may be many jobs going in parallel - and the log will be mixed - but the number will help you see what belongs to what.
=== Generic tip to how to debug the MDrivenServer if you have source code ===
MDrivenServer takes all its settings from compact database found here AppCompleteGeneric\AppCompleteGeneric.PServerIis\App_Data\DatabaseCompact.sdf
If you have a server environment that shows errors you want to debug locally - a practical way is to get a copy of the servers DatabaseCompact.sdf and replace the DatabaseCompact.sdf you have in the development environment. This way any connectionstrings or other settings that may be part of the problem you try and find are all the same in your development environment as on the server.
In the MDrivenDesigner Portal window you have an option to snapshot and download the DatabaseCompact from the server - even if this can be done manually as well:
[[File:2020-01-07 10h29 41.png|none|thumb]]
Consider to stop the server while searching for the error since 2 MDrivenServers mean 2 Client Synchronization queues - and that will confuse everyone.

Revision as of 09:31, 7 January 2020

Catching debug info and saving it to your model

To further simplify debugging we have in the September 2019 release added extended functionality.

You can add root viewmodel columns named:

ErrorInfo (not case sensitive, must start with) - string typically less than 255 char

ExceptionInfo (not case sensitive, must start with) - string typically long with a callstack - we will truncate to fit target attribute

OnException (action, not case sensitive, must start with)

If an exception occurs in a serverside viewmodel we will set ErrorInfo, ExceptionInfo and lastly call OnException-action.

2019-09-09 14h11 14.png

The email action above will fail since we have not provided the needed columns for sending an email.

The action OnException is executed last - you may receive the errorinfo and exceptioninfo in string variables and make use of them in the OnException action.

When an exception occurs changes done will be rolled back prior to applying the error handling described here.

It is ok to leave out some of the error handling columns if you do not need them.

Logging and information on what the server does

To see what actions that has been executed you can look them up in admin/AdminAppPeriodicActions.aspx

2019-09-09 13h54 03.png

You can also get an overview what runs when by looking at /admin/WorkInfo.aspx

x

And then you will always see actions in the log at admin/Log.aspx:

x

Notice the number hiliited in green - this number binds one server job together - there may be many jobs going in parallel - and the log will be mixed - but the number will help you see what belongs to what.

Generic tip to how to debug the MDrivenServer if you have source code

MDrivenServer takes all its settings from compact database found here AppCompleteGeneric\AppCompleteGeneric.PServerIis\App_Data\DatabaseCompact.sdf

If you have a server environment that shows errors you want to debug locally - a practical way is to get a copy of the servers DatabaseCompact.sdf and replace the DatabaseCompact.sdf you have in the development environment. This way any connectionstrings or other settings that may be part of the problem you try and find are all the same in your development environment as on the server.

In the MDrivenDesigner Portal window you have an option to snapshot and download the DatabaseCompact from the server - even if this can be done manually as well:

2020-01-07 10h29 41.png

Consider to stop the server while searching for the error since 2 MDrivenServers mean 2 Client Synchronization queues - and that will confuse everyone.

This page was edited 47 days ago on 02/10/2024. What links here