Skip to content

MTConnect.NET Agents v0.6.0

Compare
Choose a tag to compare
@PatrickRitchie PatrickRitchie released this 26 Aug 04:09
· 362 commits to master since this release

This release includes major updates to the Agent, Adapter, and Client classes.

Agents

Much of the agent buffer code was refactored for better performance and the XML serialization was almost completely rewritten to use custom serialization (instead of just serialization attributes).

Adapters

The SHDR adapter functionality was completely refactored and adapter classes are now broken up into the 4 classes described below:

  • ShdrAdapter : An adapter used to send data on-demand using the Send() method
  • ShdrIntervalAdapter : An adapter used the most recent data at a specified interval
  • ShdrQueueAdapter : An adapter used to buffer data and send the entire buffer on-demand using the SendBuffer() method
  • ShdrIntervalQueueAdapter : An adapter used to buffer data and send the entire buffer at a specified interval

Clients

Client classes were updated to support response compression and to support sending an Accept header according to the specified DocumentFormat. Client Http streams were rewritten to abstract away from needing to be specific to XML or JSON. It can now use the DocumentFormatter classes just like the Agent does. Client Http streams also support response compression.

Performance

A lot of benchmarking and profiling were done to increase the performance and decrease the resource usage.

Application libraries

The MTConnect.NET-Applications-Agents library is used to implement a full Agent application and can be referenced in a custom application with only a few lines of code. This allows for an easier implementation but also allows for package updates to be applied without having to change source code. One of the main use cases for MTConnect.NET is to embed an MTConnect Agent into the 'Adapter' in order to avoid needing the regular SHDR communication as well as provide direct access to the Device model.

Http Server Static Files

Static files can be better served from the HttpServer and are configured using the Files property of the HttpAgentConfiguration.

Durable File Backed Buffer

More work was done to the durable file backed buffer to fix a few issues that were seen in the last release.

Code Signing

There were some issues that some saw with trying to download and install the Agents using the installers in the previous Release as they were getting warnings from their web browser or anti-virus. Now all binary files are digitally signed using a code signing certificate that should prevent the Unknown Publisher issues that may have been seen before.