private static async void DoAsync(Footloose.IConnection footlooseConnection) { // generate uri of the WeatherInfo Service var userName = Environment.UserName; var mashineName = Environment.MachineName; var serviceEndpointIdentifier = "footloose-asyncawaitservice"; var serviceUri = footlooseConnection.UriBuilder.BuildEndpointUri(userName, mashineName, serviceEndpointIdentifier); var cs = new CancellationTokenSource(); var requestDto1 = new RequestDto() { InputValue = 1 }; var result = await footlooseConnection .Invoke<IServiceContract, ResponseDto>(service => service.HandleRequest(requestDto1), cs.Token, serviceUri); Console.WriteLine("Received result 1: It is {0}!", result.ReturnValue.OutputValue); var requestDto2 = new RequestDto() { InputValue = 2 }; var result2 = await footlooseConnection .Invoke<IServiceContract, ResponseDto>(service => service.HandleRequest(requestDto2), cs.Token, serviceUri); Console.WriteLine("Received result 2: It is {0}!", result2.ReturnValue.OutputValue); }
public ResponseDto HandleRequest(RequestDto request) { Console.WriteLine("Received request with input value '{0}'.", request.InputValue); return new ResponseDto() {OutputValue = request.InputValue}; }