How to send start and stop recording messages to multiple Milestone DVR's using EnvironmentManager.Instance.SendMessage?

Start and Stop Commands work only for the server that is populated with EnvironmentManager.Instance. For other server no action takes place. Any possible way to send commands to multiple dvr’s. I tried using MessageCommunication class as well but was not successful.

Try this way.

Take the two buttons (or the actions) from the VideoViewer sample:

private void OnStartRecording1(object sender, EventArgs e)
{
    if (_selectItem1 != null)
        EnvironmentManager.Instance.SendMessage(
            new VideoOS.Platform.Messaging.Message(MessageId.Control.StartRecordingCommand), _selectItem1.FQID);
}
 
private void OnStopRecording1(object sender, EventArgs e)
{
    if (_selectItem1 != null)
        EnvironmentManager.Instance.SendMessage(
            new VideoOS.Platform.Messaging.Message(MessageId.Control.StopRecordingCommand), _selectItem1.FQID);
}

and put them in the MultiSiteViewer instead.

For me this works as expected.

This should convince you that you can use this with multiple sites or servers.