使用TCP有一个WCF连接。服务器上的两个线程连续写入此连接。始终保证首先由客户端处理第一条消息吗?根据我的理解,应该保证。
答案 0 :(得分:2)
'频道'是连续的,所以我认为答案是肯定的。
但是对于2(独立)线程,'first'的含义没有明确定义。
答案 1 :(得分:1)
我认为Henk的问题('第一个'线程的含义)非常有趣。
鉴于线程可以在任何时候挂起,是否有可能线程A可以在线程B之前完成Send()方法的执行,但是线程B是第一个返回用户代码的?
从调用者的角度来看,看起来好像线程B首先完成了发送。
答案 2 :(得分:0)
我想到了这一点,我相信这个问题很愚蠢。为什么WCF应该关心哪个线程写入通道?
对通道的写操作是原子的,并且保证TCP传输有序。正如Henk指出的那样,频道是完全顺序的。它将始终以完全相同的顺序在客户端上发生。