IInputChannel.Receive 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
如果在显式或隐式定义的时间间隔内有可用的消息,则返回输入通道接收的消息。
重载
| Receive() | 
						 如果有可用消息,则返回接收到的消息。 如果没有可用消息,则在默认的时间间隔内阻塞。  | 
        	
| Receive(TimeSpan) | 
						 如果有可用消息,则返回接收到的消息。 如果没有可用消息,则在指定的时间间隔内阻塞。  | 
        	
注解
如果当前线程在收到请求消息或超出 Receive 指定的时间间隔之前可以被阻塞,则使用同步 timeout 方法。 如果需要应用程序处理继续进行而不等待接收请求,则使用异步 BeginReceive 方法。
在有无显式超时的情况下,同步 Receive 操作都可用。
如果没有可用的消息,此方法将发生阻塞,直到有可用消息或超时为止。
Receive()
- Source:
 - IInputChannel.cs
 
- Source:
 - IInputChannel.cs
 
如果有可用消息,则返回接收到的消息。 如果没有可用消息,则在默认的时间间隔内阻塞。
public:
 System::ServiceModel::Channels::Message ^ Receive();
	public System.ServiceModel.Channels.Message Receive();
	abstract member Receive : unit -> System.ServiceModel.Channels.Message
	Public Function Receive () As Message
	返回
接收到的 Message。
示例
下面的代码演示如何实现此方法:
public Message Receive()
{
    return Receive(DefaultReceiveTimeout);
}
    	注解
如果当前线程在收到请求消息或超出 Receive 指定的时间间隔之前可以被阻塞,则使用同步 timeout 方法。 如果需要应用程序处理继续进行而不等待接收请求,则使用异步 BeginReceive 方法。
在有无显式超时的情况下,同步 Receive 操作都可用。
如果没有可用的消息,此方法将发生阻塞,直到有可用消息或超时为止。
Receive 可以被多次调用或并发调用。 对于每个接收的消息,只有一次 Receive 调用可以完成。
适用于
Receive(TimeSpan)
- Source:
 - IInputChannel.cs
 
- Source:
 - IInputChannel.cs
 
如果有可用消息,则返回接收到的消息。 如果没有可用消息,则在指定的时间间隔内阻塞。
public:
 System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
	public System.ServiceModel.Channels.Message Receive(TimeSpan timeout);
	abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
	Public Function Receive (timeout As TimeSpan) As Message
	参数
- timeout
 - TimeSpan
 
一个 TimeSpan,指定接收操作的完成时限,在此时限之后操作将超时并引发 TimeoutException。
返回
接收到的 Message。
例外
在操作完成前超出指定的 timeout。
指定的超时小于零。
示例
下面的代码演示如何实现此方法:
public Message Receive(TimeSpan timeout)
{
    Message message;
    while (true)
    {
        message = this.InnerChannel.Receive(timeout);
        if (ProcessReceivedMessage(ref message))
        {
            break;
        }
    }
    return message;
}
    	注解
如果当前线程在收到请求消息或超出 Receive 指定的时间间隔之前可以被阻塞,则使用同步 timeout 方法。 如果需要应用程序处理继续进行而不等待接收请求,则使用异步 BeginReceive 方法。
在有无显式超时的情况下,同步 Receive 操作都可用。
如果没有可用的消息,此方法将发生阻塞,直到有可用消息或超时为止。
Receive 可以被多次调用或并发调用。 对于每个接收的消息,只有一次 Receive 调用可以完成。