所以说我有:
public interface SystemA
{
void MethodA(string a, string b, int c);
}
在我的应用程序的某处,
public class ClientA
{
public SystemA mSystemA;
public ClientA()
{
mSystemA.MethodA("whatever", "ok", 42);
}
}
但我正在试图弄清楚如何改变它以满足以下要求,
具体来说,我有三个系统(其中很多)负责与远程资源的交互,并且无法保证对其接口的调用是否会给我一个响应,或者当我得到响应,或者响应将是有效的 - 在系统本身处理这些情况,并且使用它们的客户端非常复杂,即使有特定的行为分配状态。
我尝试或考虑但不喜欢的事情:
思想?
答案 0 :(得分:1)
我不确定我是否理解您的要求(特别是#1让我感到困惑),但我最好的猜测是您正在描述典型的异步客户端 - 服务器通信机制。
如果是这种情况,请考虑一个消息队列。呼叫和响应被放置在适当的客户端或服务器队列中。通过某种cookie或uid完成对响应的调用关联。客户端可以跟踪发送请求的时间以及收到响应的时间,etcetcetc。
这是否涉及一些开销?当然可以。但是,如果您的要求需要开销,那真的是开销吗?