调用反馈类型
RPC在调用时,的调用状态有三种状态可选,分别为:OnlySend
、WaitSend
、WaitInvoke
。区别是:
OnlySend | WaitSend | WaitInvoke |
---|---|---|
仅发送RPC请求,在TCP底层协议下,能保证发送成功,但是不反馈服务器任何状态,也不会取得返回值、异常等信息。在UDP底层协议下,不保证发送成功,仅仅是具有请求动作而已。 | 发送RPC请求,并且等待收到状态返回,能保证RPC请求顺利到达服务,但是不能得知RPC服务是否成功执行,也不会取得返回值、异常等信息 | 发送RPC请求,且返回所有信息,包括是否成功调用,执行后的返回值或异常等信息。 |
使用
同样的,在InvokeOption中可以直接赋值使用。
InvokeOption invokeOption = new InvokeOption();
invokeOption.FeedbackType = FeedbackType.WaitInvoke;
//invokeOption.FeedbackType = FeedbackType.OnlySend;
//invokeOption.FeedbackType = FeedbackType.WaitSend;
string returnString = client.Invoke<string>("TestOne", invokeOption, "10");
注意:假如IInvokeOption使用的是RRQMSocket.RPC.TouchRpc.InvokeOption的话,在new的时候,应该对其他参数也进行设置(因为它是结构体)。