diff --git a/NKC_SDK/Log.cs b/NKC_SDK/Log.cs
new file mode 100644
index 0000000..4f5e14e
--- /dev/null
+++ b/NKC_SDK/Log.cs
@@ -0,0 +1,14 @@
+using NLog;
+
+namespace NKC_SDK
+{
+ public static class Log
+ {
+ public static Logger Instance { get; private set; }
+ static Log()
+ {
+ LogManager.ReconfigExistingLoggers();
+ Instance = LogManager.GetCurrentClassLogger();
+ }
+ }
+}
diff --git a/NKC_SDK/NKC.cs b/NKC_SDK/NKC.cs
index 6153ef0..f33eb88 100644
--- a/NKC_SDK/NKC.cs
+++ b/NKC_SDK/NKC.cs
@@ -25,8 +25,11 @@ namespace NKC_SDK
{
answ = client.DownloadString(URL);
}
- catch
- { }
+ catch (Exception exc)
+ {
+ Log.Instance.Error(exc, $"Eccezione durante callUrl per {URL}{Environment.NewLine}{exc}");
+ answ = exc.Message;
+ }
// restituisco valore!
return answ;
}
@@ -81,6 +84,20 @@ namespace NKC_SDK
#region URL di base
+ protected string urlAlive
+ {
+ get
+ {
+ return $"{_baseUrl}Alive";
+ }
+ }
+ protected string urlAliveClock
+ {
+ get
+ {
+ return $"{_baseUrl}Alive/Clock";
+ }
+ }
protected string urlCurrBunk
{
get
@@ -136,6 +153,38 @@ namespace NKC_SDK
return answ;
}
}
+ ///
+ /// Effettua test alive all'indirizzo del server
+ ///
+ public string testAlive
+ {
+ get
+ {
+ string answ = "";
+ try
+ {
+ answ = callUrl(urlAlive);
+ }
+ catch
+ { }
+ // rendo!
+ return answ;
+ }
+ }
+ ///
+ /// Effettua test ping all'indirizzo del server
+ ///
+ public PingReply testClock
+ {
+ get
+ {
+ Ping myPing = new Ping();
+ // timeout a 1 sec!
+ PingReply answ = myPing.Send(_baseIp, 1000);
+ // rendo!
+ return answ;
+ }
+ }
///
/// Recupera il PRIMO BUNK
diff --git a/NKC_SDK/NKC_SDK.csproj b/NKC_SDK/NKC_SDK.csproj
index 5f0ad88..918fbb1 100644
--- a/NKC_SDK/NKC_SDK.csproj
+++ b/NKC_SDK/NKC_SDK.csproj
@@ -34,8 +34,15 @@
..\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll
+
+ ..\packages\NLog.4.6.8\lib\net40-client\NLog.dll
+
+
+
+
+
@@ -47,12 +54,19 @@
VersGen.cs
+
+
+ PreserveNewest
+
+
+ Designer
+
diff --git a/NKC_SDK/NLog.config b/NKC_SDK/NLog.config
new file mode 100644
index 0000000..8879ef3
--- /dev/null
+++ b/NKC_SDK/NLog.config
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NKC_SDK/NLog.xsd b/NKC_SDK/NLog.xsd
new file mode 100644
index 0000000..16d888c
--- /dev/null
+++ b/NKC_SDK/NLog.xsd
@@ -0,0 +1,3556 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Watch config file for changes and reload automatically.
+
+
+
+
+ Print internal NLog messages to the console. Default value is: false
+
+
+
+
+ Print internal NLog messages to the console error output. Default value is: false
+
+
+
+
+ Write internal NLog messages to the specified file.
+
+
+
+
+ Log level threshold for internal log messages. Default value is: Info.
+
+
+
+
+ Global log level threshold for application log messages. Messages below this level won't be logged.
+
+
+
+
+ Throw an exception when there is an internal error. Default value is: false. Not recommend to set to true in production!
+
+
+
+
+ Throw an exception when there is a configuration error. If not set, determined by throwExceptions.
+
+
+
+
+ Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false.
+
+
+
+
+ Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false.
+
+
+
+
+ Write timestamps for internal NLog messages. Default value is: true.
+
+
+
+
+ Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false.
+
+
+
+
+ Perform message template parsing and formatting of LogEvent messages (true = Always, false = Never, empty = Auto Detect). Default value is: empty.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prefix for targets/layout renderers/filters/conditions loaded from this assembly.
+
+
+
+
+ Load NLog extensions from the specified file (*.dll)
+
+
+
+
+ Load NLog extensions from the specified assembly. Assembly name should be fully qualified.
+
+
+
+
+
+
+
+
+
+ Name of the logger. May include wildcard characters ('*' or '?').
+
+
+
+
+ Comma separated list of levels that this rule matches.
+
+
+
+
+ Minimum level that this rule matches.
+
+
+
+
+ Maximum level that this rule matches.
+
+
+
+
+ Level that this rule matches.
+
+
+
+
+ Comma separated list of target names.
+
+
+
+
+ Ignore further rules if this one matches.
+
+
+
+
+ Rule identifier to allow rule lookup with Configuration.FindRuleByName and Configuration.RemoveRuleByName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default action if none of the filters match.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file.
+
+
+
+
+ Ignore any errors in the include file.
+
+
+
+
+
+
+
+ Variable value. Note, the 'value' attribute has precedence over this one.
+
+
+
+
+
+ Variable name.
+
+
+
+
+ Variable value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Number of log events that should be processed in a batch by the lazy writer thread.
+
+
+
+
+ Whether to use the locking queue, instead of a lock-free concurrent queue The locking queue is less concurrent when many logger threads, but reduces memory allocation
+
+
+
+
+ Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch
+
+
+
+
+ Action to be taken when the lazy writer thread request queue count exceeds the set limit.
+
+
+
+
+ Limit on the number of requests in the lazy writer thread request queue.
+
+
+
+
+ Time in milliseconds to sleep between batches. (1 or less means trigger on new activity)
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Delay the flush until the LogEvent has been confirmed as written
+
+
+
+
+ Condition expression. Log events who meet this condition will cause a flush on the wrapped target.
+
+
+
+
+ Name of the target.
+
+
+
+
+ Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Number of log events to be buffered.
+
+
+
+
+ Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes.
+
+
+
+
+ Action to take if the buffer overflows.
+
+
+
+
+ Indicates whether to use sliding timeout.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Encoding to be used.
+
+
+
+
+ Instance of that is used to format log messages.
+
+
+
+
+ End of line value if a newline is appended at the end of log message .
+
+
+
+
+ Maximum message size in bytes.
+
+
+
+
+ Indicates whether to append newline at the end of log message.
+
+
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ Maximum queue size.
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ NDLC item separator.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+ Renderer for log4j:event logger-xml-attribute (Default ${logger})
+
+
+
+
+ Indicates whether to include NLog-specific extensions to log4j schema.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include stack contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ AppInfo field. By default it's the friendly name of the current AppDomain.
+
+
+
+
+ NDC item separator.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Viewer parameter name.
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
+
+
+
+
+ Enables output using ANSI Color Codes
+
+
+
+
+ The encoding for writing messages to the .
+
+
+
+
+ Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).
+
+
+
+
+ Indicates whether to auto-check if the console has been redirected to file - Disables coloring logic when System.Console.IsOutputRedirected = true
+
+
+
+
+ Indicates whether to use default row highlighting rules.
+
+
+
+
+ Indicates whether to auto-flush after
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Condition that must be met in order to set the specified foreground and background color.
+
+
+
+
+ Background color.
+
+
+
+
+ Foreground color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
+
+
+
+
+ Indicates whether to ignore case when comparing texts.
+
+
+
+
+ Regular expression to be matched. You must specify either text or regex.
+
+
+
+
+ Text to be matched. You must specify either text or regex.
+
+
+
+
+ Indicates whether to match whole words only.
+
+
+
+
+ Background color.
+
+
+
+
+ Foreground color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
+
+
+
+
+ The encoding for writing messages to the .
+
+
+
+
+ Indicates whether to send the log messages to the standard error instead of the standard output.
+
+
+
+
+ Indicates whether to auto-flush after
+
+
+
+
+ Whether to enable batch writing using char[]-buffers, instead of using
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this.
+
+
+
+
+ Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.
+
+
+
+
+ Name of the database provider.
+
+
+
+
+ Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string.
+
+
+
+
+ Indicates whether to keep the database connection open between the log events.
+
+
+
+
+ Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.
+
+
+
+
+ Name of the connection string (as specified in <connectionStrings> configuration section.
+
+
+
+
+ Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase.
+
+
+
+
+ Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.
+
+
+
+
+ Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Text of the SQL command to be run on each log level.
+
+
+
+
+ Type of the SQL command to be run on each log level.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Type of the command.
+
+
+
+
+ Connection string to run the command against. If not provided, connection string from the target is used.
+
+
+
+
+ Indicates whether to ignore failures.
+
+
+
+
+ Command text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Database parameter name.
+
+
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Database parameter DbType.
+
+
+
+
+ Database parameter size.
+
+
+
+
+ Database parameter precision.
+
+
+
+
+ Database parameter scale.
+
+
+
+
+ Type of the parameter.
+
+
+
+
+ Convert format of the database parameter value .
+
+
+
+
+ Culture used for parsing parameter string-value for type-conversion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Layout that renders event Category.
+
+
+
+
+ Optional entry type. When not set, or when not convertible to then determined by
+
+
+
+
+ Layout that renders event ID.
+
+
+
+
+ Name of the Event Log to write to. This can be System, Application or any user-defined name.
+
+
+
+
+ Name of the machine on which Event Log service is running.
+
+
+
+
+ Maximum Event log size in kilobytes.
+
+
+
+
+ Message length limit to write to the Event Log.
+
+
+
+
+ Value to be used as the event Source.
+
+
+
+
+ Action to take if the message is larger than the option.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Indicates whether to return to the first target after any successful write.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ File encoding.
+
+
+
+
+ Line ending mode.
+
+
+
+
+ Indicates whether to compress archive files into the zip archive format.
+
+
+
+
+ Way file archives are numbered.
+
+
+
+
+ Name of the file to be used for an archive.
+
+
+
+
+ Is the an absolute or relative path?
+
+
+
+
+ Indicates whether to automatically archive log files every time the specified time passes.
+
+
+
+
+ Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose:
+
+
+
+
+ Maximum number of archive files that should be kept.
+
+
+
+
+ Indicates whether the footer should be written only when the file is archived.
+
+
+
+
+ Maximum number of log file names that should be stored as existing.
+
+
+
+
+ Is the an absolute or relative path?
+
+
+
+
+ Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
+
+
+
+
+ Indicates whether file creation calls should be synchronized by a system global mutex.
+
+
+
+
+ Indicates whether to replace file contents on each write instead of appending log message at the end.
+
+
+
+
+ Indicates whether to write BOM (byte order mark) in created files
+
+
+
+
+ Indicates whether to enable log file(s) to be deleted.
+
+
+
+
+ Name of the file to write to.
+
+
+
+
+ Value specifying the date format to use when archiving files.
+
+
+
+
+ Indicates whether to archive old log file on startup.
+
+
+
+
+ Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.
+
+
+
+
+ Indicates whether to create directories if they do not exist.
+
+
+
+
+ Indicates whether to delete old log file on startup.
+
+
+
+
+ File attributes (Windows only).
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Indicates whether concurrent writes to the log file by multiple processes on different network hosts.
+
+
+
+
+ Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.
+
+
+
+
+ Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).
+
+
+
+
+ Indicates whether to keep log file open instead of opening and closing it on each logging event.
+
+
+
+
+ Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write
+
+
+
+
+ Indicates whether concurrent writes to the log file by multiple processes on the same host.
+
+
+
+
+ Number of times the write is appended on the file before NLog discards the log message.
+
+
+
+
+ Delay in milliseconds to wait before attempting to write to the file again.
+
+
+
+
+ Log file buffer size in bytes.
+
+
+
+
+ Maximum number of seconds before open files are flushed. If this number is negative or zero the files are not flushed by timer.
+
+
+
+
+ Indicates whether to automatically flush the file buffers after each log message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Condition expression. Log events who meet this condition will be forwarded to the wrapped target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Windows domain name to change context to.
+
+
+
+
+ Required impersonation level.
+
+
+
+
+ Type of the logon provider.
+
+
+
+
+ Logon Type.
+
+
+
+
+ User account password.
+
+
+
+
+ Indicates whether to revert to the credentials of the process instead of impersonating another user.
+
+
+
+
+ Username to change context to.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interval in which messages will be written up to the number of messages.
+
+
+
+
+ Maximum allowed number of messages written per .
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Endpoint address.
+
+
+
+
+ Name of the endpoint configuration in WCF configuration file.
+
+
+
+
+ Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply)
+
+
+
+
+ Client ID.
+
+
+
+
+ Indicates whether to include per-event properties in the payload sent to the server.
+
+
+
+
+ Indicates whether to use binary message encoding.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Name of the parameter.
+
+
+
+
+ Type of the parameter.
+
+
+
+
+ Type of the parameter. Obsolete alias for
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Indicates whether NewLine characters in the body should be replaced with tags.
+
+
+
+
+ Priority used for sending mails.
+
+
+
+
+ Encoding to be used for sending e-mail.
+
+
+
+
+ BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+
+
+
+
+ CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+
+
+
+
+ Indicates whether to add new lines between log entries.
+
+
+
+
+ Indicates whether to send message as HTML instead of plain text.
+
+
+
+
+ Sender's email address (e.g. joe@domain.com).
+
+
+
+
+ Mail message body (repeated for each log message send in one mail).
+
+
+
+
+ Mail subject.
+
+
+
+
+ Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Indicates the SMTP client timeout.
+
+
+
+
+ SMTP Server to be used for sending.
+
+
+
+
+ SMTP Authentication mode.
+
+
+
+
+ Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic").
+
+
+
+
+ Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic").
+
+
+
+
+ Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server.
+
+
+
+
+ Port number that SMTP Server is listening on.
+
+
+
+
+ Indicates whether the default Settings from System.Net.MailSettings should be used.
+
+
+
+
+ Folder where applications save mail messages to be processed by the local SMTP server.
+
+
+
+
+ Specifies how outgoing email messages will be handled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Max number of items to have in memory
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Class name.
+
+
+
+
+ Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Encoding to be used.
+
+
+
+
+ End of line value if a newline is appended at the end of log message .
+
+
+
+
+ Maximum message size in bytes.
+
+
+
+
+ Indicates whether to append newline at the end of log message.
+
+
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
+
+
+ Maximum queue size.
+
+
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Encoding to be used.
+
+
+
+
+ Instance of that is used to format log messages.
+
+
+
+
+ End of line value if a newline is appended at the end of log message .
+
+
+
+
+ Maximum message size in bytes.
+
+
+
+
+ Indicates whether to append newline at the end of log message.
+
+
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ Maximum queue size.
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ NDLC item separator.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+ Renderer for log4j:event logger-xml-attribute (Default ${logger})
+
+
+
+
+ Indicates whether to include NLog-specific extensions to log4j schema.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include stack contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ AppInfo field. By default it's the friendly name of the current AppDomain.
+
+
+
+
+ NDC item separator.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Indicates whether to perform layout calculation.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Indicates whether performance counter should be automatically created.
+
+
+
+
+ Name of the performance counter category.
+
+
+
+
+ Counter help text.
+
+
+
+
+ Name of the performance counter.
+
+
+
+
+ Performance counter type.
+
+
+
+
+ The value by which to increment the counter.
+
+
+
+
+ Performance counter instance name.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Default filter to be applied when no specific rule matches.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+ Condition to be tested.
+
+
+
+
+ Resulting filter to be applied when the condition matches.
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Number of times to repeat each log message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Number of retries that should be attempted on the wrapped target in case of a failure.
+
+
+
+
+ Time to wait between retries in milliseconds.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Always use independent of
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.
+
+
+
+
+ Web service method name. Only used with Soap.
+
+
+
+
+ Web service namespace. Only used with Soap.
+
+
+
+
+ Protocol to be used when calling web service.
+
+
+
+
+ Custom proxy address, include port separated by a colon
+
+
+
+
+ Encoding.
+
+
+
+
+ Web service URL.
+
+
+
+
+ Value whether escaping be done according to the old NLog style (Very non-standard)
+
+
+
+
+ Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs)
+
+
+
+
+ Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters)
+
+
+
+
+ Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ).
+
+
+
+
+ (optional) root namespace of the XML document, if POST of XML document chosen. (see and ).
+
+
+
+
+ Proxy configuration when calling web service
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Footer layout.
+
+
+
+
+ Header layout.
+
+
+
+
+ Body layout (can be repeated multiple times).
+
+
+
+
+ Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom').
+
+
+
+
+ Column delimiter.
+
+
+
+
+ Quote Character.
+
+
+
+
+ Quoting mode.
+
+
+
+
+ Indicates whether CVS should include header.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout of the column.
+
+
+
+
+ Name of the column.
+
+
+
+
+ Override of Quoting mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as JSON)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the JSON serializer follow object references before backing off
+
+
+
+
+ Option to render the empty object value {}
+
+
+
+
+ Option to suppress the extra spaces in the output json
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that will be rendered as the attribute's value.
+
+
+
+
+ Name of the attribute.
+
+
+
+
+ Determines whether or not this attribute will be Json encoded.
+
+
+
+
+ Indicates whether to escape non-ascii characters
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Footer layout.
+
+
+
+
+ Header layout.
+
+
+
+
+ Body layout (can be repeated multiple times).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the XML serializer follow object references before backing off
+
+
+
+
+ XML element name to use for rendering IList-collections items
+
+
+
+
+ XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included
+
+
+
+
+ XML element name to use when rendering properties
+
+
+
+
+ XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value
+
+
+
+
+ Name of the root XML element
+
+
+
+
+ Value inside the root XML element
+
+
+
+
+ Whether a ElementValue with empty value should be included in the output
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that will be rendered as the attribute's value.
+
+
+
+
+ Name of the attribute.
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Name of the element
+
+
+
+
+ Value inside the element
+
+
+
+
+ Whether a ElementValue with empty value should be included in the output
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the XML serializer follow object references before backing off
+
+
+
+
+ XML element name to use for rendering IList-collections items
+
+
+
+
+ XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included
+
+
+
+
+ XML element name to use when rendering properties
+
+
+
+
+ XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Condition expression.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+ Substring to be matched.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ String to compare the layout to.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+ Substring to be matched.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ String to compare the layout to.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Default number of unique filter values to expect, will automatically increase if needed
+
+
+
+
+ Applies the configured action to the initial logevent that starts the timeout period. Used to configure that it should ignore all events until timeout.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+ Max number of unique filter values to expect simultaneously
+
+
+
+
+ Max length of filter values, will truncate if above limit
+
+
+
+
+ How long before a filter expires, and logging is accepted again
+
+
+
+
+ Default buffer size for the internal buffers
+
+
+
+
+ Reuse internal buffers, and doesn't have to constantly allocate new buffers
+
+
+
+
+ Append FilterCount to the when an event is no longer filtered
+
+
+
+
+ Insert FilterCount value into when an event is no longer filtered
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/NKC_SDK/packages.config b/NKC_SDK/packages.config
index 0fa4e01..a5201d2 100644
--- a/NKC_SDK/packages.config
+++ b/NKC_SDK/packages.config
@@ -1,4 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/RedisExample/Form1.Designer.vb b/RedisExample/Form1.Designer.vb
index 127ea09..1081722 100644
--- a/RedisExample/Form1.Designer.vb
+++ b/RedisExample/Form1.Designer.vb
@@ -43,265 +43,263 @@ Partial Class Form1
Me.txtWorkEnd = New System.Windows.Forms.TextBox()
Me.txtPrintEnd = New System.Windows.Forms.TextBox()
Me.btnSaveAll = New System.Windows.Forms.Button()
- Me.btnPing = New System.Windows.Forms.Button()
- Me.lblPing = New System.Windows.Forms.Label()
- Me.SuspendLayout()
- '
- 'btnReset
- '
- Me.btnReset.Location = New System.Drawing.Point(85, 490)
- Me.btnReset.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnReset.Name = "btnReset"
- Me.btnReset.Size = New System.Drawing.Size(100, 28)
- Me.btnReset.TabIndex = 0
- Me.btnReset.Text = "reset Date"
- Me.btnReset.UseVisualStyleBackColor = True
- '
- 'Label1
- '
- Me.Label1.AutoSize = True
- Me.Label1.Location = New System.Drawing.Point(349, 496)
- Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(51, 17)
- Me.Label1.TabIndex = 1
- Me.Label1.Text = "Label1"
- '
- 'btnLoadBunk
- '
- Me.btnLoadBunk.Location = New System.Drawing.Point(85, 44)
- Me.btnLoadBunk.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnLoadBunk.Name = "btnLoadBunk"
- Me.btnLoadBunk.Size = New System.Drawing.Size(100, 28)
- Me.btnLoadBunk.TabIndex = 2
- Me.btnLoadBunk.Text = "Load BUNK"
- Me.btnLoadBunk.UseVisualStyleBackColor = True
- '
- 'btnPrintStart
- '
- Me.btnPrintStart.Location = New System.Drawing.Point(85, 203)
- Me.btnPrintStart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnPrintStart.Name = "btnPrintStart"
- Me.btnPrintStart.Size = New System.Drawing.Size(100, 28)
- Me.btnPrintStart.TabIndex = 3
- Me.btnPrintStart.Text = "Start Paint"
- Me.btnPrintStart.UseVisualStyleBackColor = True
- '
- 'cmbSheet
- '
- Me.cmbSheet.DisplayMember = "SheetId"
- Me.cmbSheet.FormattingEnabled = True
- Me.cmbSheet.Location = New System.Drawing.Point(701, 48)
- Me.cmbSheet.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.cmbSheet.Name = "cmbSheet"
- Me.cmbSheet.Size = New System.Drawing.Size(160, 24)
- Me.cmbSheet.TabIndex = 4
- '
- 'Label2
- '
- Me.Label2.AutoSize = True
- Me.Label2.Location = New System.Drawing.Point(586, 56)
- Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(92, 17)
- Me.Label2.TabIndex = 5
- Me.Label2.Text = "current sheet"
- '
- 'btnPrintEnd
- '
- Me.btnPrintEnd.Location = New System.Drawing.Point(564, 203)
- Me.btnPrintEnd.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnPrintEnd.Name = "btnPrintEnd"
- Me.btnPrintEnd.Size = New System.Drawing.Size(100, 28)
- Me.btnPrintEnd.TabIndex = 6
- Me.btnPrintEnd.Text = "End Paint"
- Me.btnPrintEnd.UseVisualStyleBackColor = True
- '
- 'btnWorkStart
- '
- Me.btnWorkStart.Location = New System.Drawing.Point(85, 257)
- Me.btnWorkStart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnWorkStart.Name = "btnWorkStart"
- Me.btnWorkStart.Size = New System.Drawing.Size(100, 28)
- Me.btnWorkStart.TabIndex = 7
- Me.btnWorkStart.Text = "Start Cut"
- Me.btnWorkStart.UseVisualStyleBackColor = True
- '
- 'btnWorkEnd
- '
- Me.btnWorkEnd.Location = New System.Drawing.Point(564, 257)
- Me.btnWorkEnd.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnWorkEnd.Name = "btnWorkEnd"
- Me.btnWorkEnd.Size = New System.Drawing.Size(100, 28)
- Me.btnWorkEnd.TabIndex = 8
- Me.btnWorkEnd.Text = "End Cut"
- Me.btnWorkEnd.UseVisualStyleBackColor = True
- '
- 'btnUnlStart
- '
- Me.btnUnlStart.Location = New System.Drawing.Point(85, 309)
- Me.btnUnlStart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnUnlStart.Name = "btnUnlStart"
- Me.btnUnlStart.Size = New System.Drawing.Size(100, 28)
- Me.btnUnlStart.TabIndex = 9
- Me.btnUnlStart.Text = "Start Unload"
- Me.btnUnlStart.UseVisualStyleBackColor = True
- '
- 'btnUnlEnd
- '
- Me.btnUnlEnd.Location = New System.Drawing.Point(564, 309)
- Me.btnUnlEnd.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnUnlEnd.Name = "btnUnlEnd"
- Me.btnUnlEnd.Size = New System.Drawing.Size(100, 28)
- Me.btnUnlEnd.TabIndex = 10
- Me.btnUnlEnd.Text = "End Unload"
- Me.btnUnlEnd.UseVisualStyleBackColor = True
- '
- 'btnNextBunk
- '
- Me.btnNextBunk.Location = New System.Drawing.Point(85, 106)
- Me.btnNextBunk.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnNextBunk.Name = "btnNextBunk"
- Me.btnNextBunk.Size = New System.Drawing.Size(100, 28)
- Me.btnNextBunk.TabIndex = 11
- Me.btnNextBunk.Text = "Next BUNK"
- Me.btnNextBunk.UseVisualStyleBackColor = True
- Me.btnNextBunk.Visible = False
- '
- 'txtCurrBunk
- '
- Me.txtCurrBunk.Location = New System.Drawing.Point(212, 46)
- Me.txtCurrBunk.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtCurrBunk.Name = "txtCurrBunk"
- Me.txtCurrBunk.Size = New System.Drawing.Size(132, 22)
- Me.txtCurrBunk.TabIndex = 12
- '
- 'lblNextBunk
- '
- Me.lblNextBunk.AutoSize = True
- Me.lblNextBunk.Location = New System.Drawing.Point(212, 117)
- Me.lblNextBunk.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
- Me.lblNextBunk.Name = "lblNextBunk"
- Me.lblNextBunk.Size = New System.Drawing.Size(23, 17)
- Me.lblNextBunk.TabIndex = 13
- Me.lblNextBunk.Text = "---"
- Me.lblNextBunk.Visible = False
- '
- 'txtPrintStart
- '
- Me.txtPrintStart.Location = New System.Drawing.Point(212, 207)
- Me.txtPrintStart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtPrintStart.Name = "txtPrintStart"
- Me.txtPrintStart.Size = New System.Drawing.Size(188, 22)
- Me.txtPrintStart.TabIndex = 14
- '
- 'txtWorkStart
- '
- Me.txtWorkStart.Location = New System.Drawing.Point(212, 260)
- Me.txtWorkStart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtWorkStart.Name = "txtWorkStart"
- Me.txtWorkStart.Size = New System.Drawing.Size(188, 22)
- Me.txtWorkStart.TabIndex = 15
- '
- 'txtUnlStart
- '
- Me.txtUnlStart.Location = New System.Drawing.Point(212, 311)
- Me.txtUnlStart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtUnlStart.Name = "txtUnlStart"
- Me.txtUnlStart.Size = New System.Drawing.Size(188, 22)
- Me.txtUnlStart.TabIndex = 16
- '
- 'txtUnlEnd
- '
- Me.txtUnlEnd.Location = New System.Drawing.Point(701, 310)
- Me.txtUnlEnd.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtUnlEnd.Name = "txtUnlEnd"
- Me.txtUnlEnd.Size = New System.Drawing.Size(188, 22)
- Me.txtUnlEnd.TabIndex = 19
- '
- 'txtWorkEnd
- '
- Me.txtWorkEnd.Location = New System.Drawing.Point(701, 258)
- Me.txtWorkEnd.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtWorkEnd.Name = "txtWorkEnd"
- Me.txtWorkEnd.Size = New System.Drawing.Size(188, 22)
- Me.txtWorkEnd.TabIndex = 18
- '
- 'txtPrintEnd
- '
- Me.txtPrintEnd.Location = New System.Drawing.Point(701, 206)
- Me.txtPrintEnd.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.txtPrintEnd.Name = "txtPrintEnd"
- Me.txtPrintEnd.Size = New System.Drawing.Size(188, 22)
- Me.txtPrintEnd.TabIndex = 17
- '
- 'btnSaveAll
- '
- Me.btnSaveAll.Location = New System.Drawing.Point(77, 378)
- Me.btnSaveAll.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.btnSaveAll.Name = "btnSaveAll"
- Me.btnSaveAll.Size = New System.Drawing.Size(813, 28)
- Me.btnSaveAll.TabIndex = 20
- Me.btnSaveAll.Text = "Save All Data"
- Me.btnSaveAll.UseVisualStyleBackColor = True
- '
- 'btnPing
- '
- Me.btnPing.Location = New System.Drawing.Point(85, 8)
- Me.btnPing.Margin = New System.Windows.Forms.Padding(4)
- Me.btnPing.Name = "btnPing"
- Me.btnPing.Size = New System.Drawing.Size(100, 28)
- Me.btnPing.TabIndex = 21
- Me.btnPing.Text = "Test Ping"
- Me.btnPing.UseVisualStyleBackColor = True
- '
- 'lblPing
- '
- Me.lblPing.AutoSize = True
- Me.lblPing.Location = New System.Drawing.Point(212, 14)
- Me.lblPing.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
- Me.lblPing.Name = "lblPing"
- Me.lblPing.Size = New System.Drawing.Size(59, 17)
- Me.lblPing.TabIndex = 22
- Me.lblPing.Text = "ping???"
- '
- 'Form1
- '
- Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(1067, 554)
- Me.Controls.Add(Me.lblPing)
- Me.Controls.Add(Me.btnPing)
- Me.Controls.Add(Me.btnSaveAll)
- Me.Controls.Add(Me.txtUnlEnd)
- Me.Controls.Add(Me.txtWorkEnd)
- Me.Controls.Add(Me.txtPrintEnd)
- Me.Controls.Add(Me.txtUnlStart)
- Me.Controls.Add(Me.txtWorkStart)
- Me.Controls.Add(Me.txtPrintStart)
- Me.Controls.Add(Me.lblNextBunk)
- Me.Controls.Add(Me.txtCurrBunk)
- Me.Controls.Add(Me.btnNextBunk)
- Me.Controls.Add(Me.btnUnlEnd)
- Me.Controls.Add(Me.btnUnlStart)
- Me.Controls.Add(Me.btnWorkEnd)
- Me.Controls.Add(Me.btnWorkStart)
- Me.Controls.Add(Me.btnPrintEnd)
- Me.Controls.Add(Me.Label2)
- Me.Controls.Add(Me.cmbSheet)
- Me.Controls.Add(Me.btnPrintStart)
- Me.Controls.Add(Me.btnLoadBunk)
- Me.Controls.Add(Me.Label1)
- Me.Controls.Add(Me.btnReset)
- Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
- Me.Name = "Form1"
- Me.Text = "Form1"
- Me.ResumeLayout(False)
- Me.PerformLayout()
+ Me.btnPing = New System.Windows.Forms.Button()
+ Me.lblPing = New System.Windows.Forms.Label()
+ Me.btnAlive = New System.Windows.Forms.Button()
+ Me.lblAlive = New System.Windows.Forms.Label()
+ Me.SuspendLayout()
+ '
+ 'btnReset
+ '
+ Me.btnReset.Location = New System.Drawing.Point(64, 398)
+ Me.btnReset.Name = "btnReset"
+ Me.btnReset.Size = New System.Drawing.Size(75, 23)
+ Me.btnReset.TabIndex = 0
+ Me.btnReset.Text = "reset Date"
+ Me.btnReset.UseVisualStyleBackColor = True
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(262, 403)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(39, 13)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "Label1"
+ '
+ 'btnLoadBunk
+ '
+ Me.btnLoadBunk.Location = New System.Drawing.Point(64, 36)
+ Me.btnLoadBunk.Name = "btnLoadBunk"
+ Me.btnLoadBunk.Size = New System.Drawing.Size(75, 23)
+ Me.btnLoadBunk.TabIndex = 2
+ Me.btnLoadBunk.Text = "Load BUNK"
+ Me.btnLoadBunk.UseVisualStyleBackColor = True
+ '
+ 'btnPrintStart
+ '
+ Me.btnPrintStart.Location = New System.Drawing.Point(64, 165)
+ Me.btnPrintStart.Name = "btnPrintStart"
+ Me.btnPrintStart.Size = New System.Drawing.Size(75, 23)
+ Me.btnPrintStart.TabIndex = 3
+ Me.btnPrintStart.Text = "Start Paint"
+ Me.btnPrintStart.UseVisualStyleBackColor = True
+ '
+ 'cmbSheet
+ '
+ Me.cmbSheet.DisplayMember = "SheetId"
+ Me.cmbSheet.FormattingEnabled = True
+ Me.cmbSheet.Location = New System.Drawing.Point(526, 39)
+ Me.cmbSheet.Name = "cmbSheet"
+ Me.cmbSheet.Size = New System.Drawing.Size(121, 21)
+ Me.cmbSheet.TabIndex = 4
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(440, 46)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(69, 13)
+ Me.Label2.TabIndex = 5
+ Me.Label2.Text = "current sheet"
+ '
+ 'btnPrintEnd
+ '
+ Me.btnPrintEnd.Location = New System.Drawing.Point(423, 165)
+ Me.btnPrintEnd.Name = "btnPrintEnd"
+ Me.btnPrintEnd.Size = New System.Drawing.Size(75, 23)
+ Me.btnPrintEnd.TabIndex = 6
+ Me.btnPrintEnd.Text = "End Paint"
+ Me.btnPrintEnd.UseVisualStyleBackColor = True
+ '
+ 'btnWorkStart
+ '
+ Me.btnWorkStart.Location = New System.Drawing.Point(64, 209)
+ Me.btnWorkStart.Name = "btnWorkStart"
+ Me.btnWorkStart.Size = New System.Drawing.Size(75, 23)
+ Me.btnWorkStart.TabIndex = 7
+ Me.btnWorkStart.Text = "Start Cut"
+ Me.btnWorkStart.UseVisualStyleBackColor = True
+ '
+ 'btnWorkEnd
+ '
+ Me.btnWorkEnd.Location = New System.Drawing.Point(423, 209)
+ Me.btnWorkEnd.Name = "btnWorkEnd"
+ Me.btnWorkEnd.Size = New System.Drawing.Size(75, 23)
+ Me.btnWorkEnd.TabIndex = 8
+ Me.btnWorkEnd.Text = "End Cut"
+ Me.btnWorkEnd.UseVisualStyleBackColor = True
+ '
+ 'btnUnlStart
+ '
+ Me.btnUnlStart.Location = New System.Drawing.Point(64, 251)
+ Me.btnUnlStart.Name = "btnUnlStart"
+ Me.btnUnlStart.Size = New System.Drawing.Size(75, 23)
+ Me.btnUnlStart.TabIndex = 9
+ Me.btnUnlStart.Text = "Start Unload"
+ Me.btnUnlStart.UseVisualStyleBackColor = True
+ '
+ 'btnUnlEnd
+ '
+ Me.btnUnlEnd.Location = New System.Drawing.Point(423, 251)
+ Me.btnUnlEnd.Name = "btnUnlEnd"
+ Me.btnUnlEnd.Size = New System.Drawing.Size(75, 23)
+ Me.btnUnlEnd.TabIndex = 10
+ Me.btnUnlEnd.Text = "End Unload"
+ Me.btnUnlEnd.UseVisualStyleBackColor = True
+ '
+ 'btnNextBunk
+ '
+ Me.btnNextBunk.Location = New System.Drawing.Point(64, 86)
+ Me.btnNextBunk.Name = "btnNextBunk"
+ Me.btnNextBunk.Size = New System.Drawing.Size(75, 23)
+ Me.btnNextBunk.TabIndex = 11
+ Me.btnNextBunk.Text = "Next BUNK"
+ Me.btnNextBunk.UseVisualStyleBackColor = True
+ Me.btnNextBunk.Visible = False
+ '
+ 'txtCurrBunk
+ '
+ Me.txtCurrBunk.Location = New System.Drawing.Point(159, 37)
+ Me.txtCurrBunk.Name = "txtCurrBunk"
+ Me.txtCurrBunk.Size = New System.Drawing.Size(100, 20)
+ Me.txtCurrBunk.TabIndex = 12
+ '
+ 'lblNextBunk
+ '
+ Me.lblNextBunk.AutoSize = True
+ Me.lblNextBunk.Location = New System.Drawing.Point(159, 95)
+ Me.lblNextBunk.Name = "lblNextBunk"
+ Me.lblNextBunk.Size = New System.Drawing.Size(16, 13)
+ Me.lblNextBunk.TabIndex = 13
+ Me.lblNextBunk.Text = "---"
+ Me.lblNextBunk.Visible = False
+ '
+ 'txtPrintStart
+ '
+ Me.txtPrintStart.Location = New System.Drawing.Point(159, 168)
+ Me.txtPrintStart.Name = "txtPrintStart"
+ Me.txtPrintStart.Size = New System.Drawing.Size(142, 20)
+ Me.txtPrintStart.TabIndex = 14
+ '
+ 'txtWorkStart
+ '
+ Me.txtWorkStart.Location = New System.Drawing.Point(159, 211)
+ Me.txtWorkStart.Name = "txtWorkStart"
+ Me.txtWorkStart.Size = New System.Drawing.Size(142, 20)
+ Me.txtWorkStart.TabIndex = 15
+ '
+ 'txtUnlStart
+ '
+ Me.txtUnlStart.Location = New System.Drawing.Point(159, 253)
+ Me.txtUnlStart.Name = "txtUnlStart"
+ Me.txtUnlStart.Size = New System.Drawing.Size(142, 20)
+ Me.txtUnlStart.TabIndex = 16
+ '
+ 'txtUnlEnd
+ '
+ Me.txtUnlEnd.Location = New System.Drawing.Point(526, 252)
+ Me.txtUnlEnd.Name = "txtUnlEnd"
+ Me.txtUnlEnd.Size = New System.Drawing.Size(142, 20)
+ Me.txtUnlEnd.TabIndex = 19
+ '
+ 'txtWorkEnd
+ '
+ Me.txtWorkEnd.Location = New System.Drawing.Point(526, 210)
+ Me.txtWorkEnd.Name = "txtWorkEnd"
+ Me.txtWorkEnd.Size = New System.Drawing.Size(142, 20)
+ Me.txtWorkEnd.TabIndex = 18
+ '
+ 'txtPrintEnd
+ '
+ Me.txtPrintEnd.Location = New System.Drawing.Point(526, 167)
+ Me.txtPrintEnd.Name = "txtPrintEnd"
+ Me.txtPrintEnd.Size = New System.Drawing.Size(142, 20)
+ Me.txtPrintEnd.TabIndex = 17
+ '
+ 'btnSaveAll
+ '
+ Me.btnSaveAll.Location = New System.Drawing.Point(58, 307)
+ Me.btnSaveAll.Name = "btnSaveAll"
+ Me.btnSaveAll.Size = New System.Drawing.Size(610, 23)
+ Me.btnSaveAll.TabIndex = 20
+ Me.btnSaveAll.Text = "Save All Data"
+ Me.btnSaveAll.UseVisualStyleBackColor = True
+ '
+ 'btnPing
+ '
+ Me.btnPing.Location = New System.Drawing.Point(64, 6)
+ Me.btnPing.Name = "btnPing"
+ Me.btnPing.Size = New System.Drawing.Size(75, 23)
+ Me.btnPing.TabIndex = 21
+ Me.btnPing.Text = "Test Ping"
+ Me.btnPing.UseVisualStyleBackColor = True
+ '
+ 'lblPing
+ '
+ Me.lblPing.AutoSize = True
+ Me.lblPing.Location = New System.Drawing.Point(159, 11)
+ Me.lblPing.Name = "lblPing"
+ Me.lblPing.Size = New System.Drawing.Size(45, 13)
+ Me.lblPing.TabIndex = 22
+ Me.lblPing.Text = "ping???"
+ '
+ 'btnAlive
+ '
+ Me.btnAlive.Location = New System.Drawing.Point(423, 6)
+ Me.btnAlive.Name = "btnAlive"
+ Me.btnAlive.Size = New System.Drawing.Size(75, 23)
+ Me.btnAlive.TabIndex = 23
+ Me.btnAlive.Text = "Test Ping"
+ Me.btnAlive.UseVisualStyleBackColor = True
+ '
+ 'lblAlive
+ '
+ Me.lblAlive.AutoSize = True
+ Me.lblAlive.Location = New System.Drawing.Point(523, 11)
+ Me.lblAlive.Name = "lblAlive"
+ Me.lblAlive.Size = New System.Drawing.Size(47, 13)
+ Me.lblAlive.TabIndex = 24
+ Me.lblAlive.Text = "alive???"
+ '
+ 'Form1
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(800, 450)
+ Me.Controls.Add(Me.lblAlive)
+ Me.Controls.Add(Me.btnAlive)
+ Me.Controls.Add(Me.lblPing)
+ Me.Controls.Add(Me.btnPing)
+ Me.Controls.Add(Me.btnSaveAll)
+ Me.Controls.Add(Me.txtUnlEnd)
+ Me.Controls.Add(Me.txtWorkEnd)
+ Me.Controls.Add(Me.txtPrintEnd)
+ Me.Controls.Add(Me.txtUnlStart)
+ Me.Controls.Add(Me.txtWorkStart)
+ Me.Controls.Add(Me.txtPrintStart)
+ Me.Controls.Add(Me.lblNextBunk)
+ Me.Controls.Add(Me.txtCurrBunk)
+ Me.Controls.Add(Me.btnNextBunk)
+ Me.Controls.Add(Me.btnUnlEnd)
+ Me.Controls.Add(Me.btnUnlStart)
+ Me.Controls.Add(Me.btnWorkEnd)
+ Me.Controls.Add(Me.btnWorkStart)
+ Me.Controls.Add(Me.btnPrintEnd)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.cmbSheet)
+ Me.Controls.Add(Me.btnPrintStart)
+ Me.Controls.Add(Me.btnLoadBunk)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.btnReset)
+ Me.Name = "Form1"
+ Me.Text = "Form1"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
- End Sub
+ End Sub
- Friend WithEvents btnReset As Button
+ Friend WithEvents btnReset As Button
Friend WithEvents Label1 As Label
Friend WithEvents btnLoadBunk As Button
Friend WithEvents btnPrintStart As Button
@@ -324,4 +322,6 @@ Partial Class Form1
Friend WithEvents btnSaveAll As Button
Friend WithEvents btnPing As Button
Friend WithEvents lblPing As Label
+ Friend WithEvents btnAlive As Button
+ Friend WithEvents lblAlive As Label
End Class
diff --git a/RedisExample/Form1.vb b/RedisExample/Form1.vb
index b6b6995..fba3c82 100644
--- a/RedisExample/Form1.vb
+++ b/RedisExample/Form1.vb
@@ -13,7 +13,8 @@ Public Class Form1
Dim currentBunk As ProdBunk = Nothing
Dim risultatoPing As PingReply = Nothing
-
+ Dim srvAlive As Boolean = False
+ Dim srvClock As String = ""
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnReset.Click
@@ -209,4 +210,10 @@ Public Class Form1
lblPing.Text = risultatoPing.Status.ToString()
End Sub
+
+ Private Sub btnAlive_Click(sender As Object, e As EventArgs) Handles btnAlive.Click
+ Dim answ As String = ""
+ answ = currNKC.testAlive
+
+ End Sub
End Class
diff --git a/RedisExample/RedisExample.vbproj b/RedisExample/RedisExample.vbproj
index ef4441b..6effbf8 100644
--- a/RedisExample/RedisExample.vbproj
+++ b/RedisExample/RedisExample.vbproj
@@ -119,6 +119,7 @@
+ MyApplicationCodeGeneratorApplication.Designer.vb
diff --git a/RedisExample/logs/.placeholder b/RedisExample/logs/.placeholder
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/RedisExample/logs/.placeholder
@@ -0,0 +1 @@
+
\ No newline at end of file