Hans Karlsen (talk | contribs) No edit summary |
Hans Karlsen (talk | contribs) 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| | [[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.
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
You can also get an overview what runs when by looking at /admin/WorkInfo.aspx
And then you will always see actions in the log at admin/Log.aspx:
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:
Consider to stop the server while searching for the error since 2 MDrivenServers mean 2 Client Synchronization queues - and that will confuse everyone.