RunCommand Method as Async


I am wondering if there is a way make the method:

protected override Result RunCommand(RhinoDoc doc, RunMode mode)

Work as an async:

protected override async Result RunCommand(RhinoDoc doc, RunMode mode)

I got this warning. The problem I think is that RunCommand retuns a Result output and to make the method work as async I need to return a void. Any advice how to keep returning the Result but having the method to work async?

Any idea that can point me in the right direction will be really appreciated.


you can’t change the method to async, and it wouldn’t work as you are probably assuming it would: RunCommand is not called with await in Rhino core, so it is non-sensical to try decorate it with async.

Your attempt begs the question: what are you trying to achieve?

Hi @nathanletwory,I am trying to add a method that will perform a function on a remote server and then send the response back to Rhino.

I was able to make it work but I was constantly getting the “server busy” window. My first thought was “maybe if I make async the runcommand this message will go away”.

The problem was solved making my functions on the server side async. With that the “server busy” went away.

Thanks for your response it helped me to look for a different way of solving the problem.