There is really just one method that does all the work: EasyUAClient.WriteMultiple. The remaining methods are just wrappers around it, manipulating the input arguments and the results.
- EasyUAClient.Write creates an argument array with just one input, call WriteMultiple, and unpacks the result array, throwing exception if needed.
- EasyUAClient.WriteMultipleValue creates inputs arguments where the AttributeData contains the values specified, but just defaults for the ServerTimestamp, SourceTimestamp, and StatusCode. Then it simply calls WriteMultiple. Note that the default for StatusCode should be "Good", therefore it does not explain why the tag would turn to Bad on the server.
- EasyUAClient.WriteValue constructs an argument array with just input, calls WriteMultipleValues, and unpacks the result array, throwing exception if needed.
Whenever possibly, you should use the methods with "Multiple" in their name, because they will do more at once to the server (instead of calling a methods without "Multiple" in a loop). But otherwise, the performance differences (for the processing on the client side) are negligible.