New Invoke demo in C# #280
                
     Closed
            
            
          
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
This PR implements a new Invoke demo in C# (Invoke2 for now, until we retire invoke).
I initially wanted to call it "SliceFree" and provide a Slice-free demo. However, even though this demo does not provide any Slice definition or use any generated code, it still uses InputStream / OutputStream to marshal/unmarshal data (strings) using the Ice encoding.
Using InputStream / OutputStream is unavoidable with Ice, even if we just want to transfer bytes.
This demo is primarily about demonstrating
ice_invokeAsync(on Ice.ObjectPrx) anddispatchAsync(on Ice.Object).In practice, these methods are more useful to build a Forwarding servant than to send Slice requests "by hand". Maybe we should drop this Invoke demo and provide a Forwarder demo instead?