1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393
|
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IInputChannel" FullName="System.ServiceModel.Channels.IInputChannel">
<TypeSignature Language="C#" Value="public interface IInputChannel : System.ServiceModel.Channels.IChannel" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IInputChannel implements class System.ServiceModel.Channels.IChannel, class System.ServiceModel.ICommunicationObject" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.Channels.IChannel</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Channels.IInputChannel" /> contract includes synchronous and asynchronous variants of receive, try-to-receive and wait-for-a-message functionality. </para>
<para>The pull model is used typically with an <see cref="T:System.ServiceModel.Channels.IInputChannel" /> to receive messages: you call <see cref="Overload:System.ServiceModel.Channels.IInputChannel.Receive" /> (to "pull" a message out of the channel) and then wait for a message to arrive. An alternative usage pattern is to call <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginWaitForMessage(System.TimeSpan,System.AsyncCallback,System.Object)" /> or <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginWaitForMessage(System.TimeSpan,System.AsyncCallback,System.Object)" />, and then call <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive(System.TimeSpan)" />. This approach is common for transactional usages where you start the transaction between the calls to <see cref="M:System.ServiceModel.Channels.IInputChannel.WaitForMessage(System.TimeSpan)" /> and <see cref="Overload:System.ServiceModel.Channels.IInputChannel.Receive" />.</para>
<para>An <see cref="T:System.ServiceModel.Channels.IInputChannel" /> is not necessarily bound to a single sender. Other channels and channel interfaces can provide a correlation between particular senders and an <see cref="T:System.ServiceModel.Channels.IInputChannel" />, but the base contract makes no such restriction. An implementation can create a new <see cref="T:System.ServiceModel.Channels.IInputChannel" /> for each message or reuse the same <see cref="T:System.ServiceModel.Channels.IInputChannel" /> for multiple messages and senders.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines the interface that a channel must implement to receive a message. </para>
</summary>
</Docs>
<Members>
<Member MemberName="BeginReceive">
<MemberSignature Language="C#" Value="public IAsyncResult BeginReceive (AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginReceive(class System.AsyncCallback callback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="callback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the asynchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginReceive" /> method when you want the application processing to continue without waiting for the request to be received. Use the synchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> method when it is acceptable for the current thread to be blocked until the request message is received or the interval of time specified by the <paramref name="timeout" /> has been exceeded. The asynchronous operation is available with or without an explicit timeout. </para>
<para>This method receives notification, through a callback, of the identity of the event handler for the operation. The operation is not complete until a message becomes available in the channel.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Begins an asynchronous operation to receive a message that has a state object associated with it. </para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous message reception. </para>
</returns>
<param name="callback">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.AsyncCallback" /> delegate that receives the notification of the asynchronous operation completion.</param>
<param name="state">
<attribution license="cc4" from="Microsoft" modified="false" />An object, specified by the application, that contains state information associated with the asynchronous operation.</param>
</Docs>
</Member>
<Member MemberName="BeginReceive">
<MemberSignature Language="C#" Value="public IAsyncResult BeginReceive (TimeSpan timeout, AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginReceive(valuetype System.TimeSpan timeout, class System.AsyncCallback callback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
<Parameter Name="callback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the asynchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginReceive" /> method when you want the application processing to continue without waiting for the request to be received. Use the synchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> method when it is acceptable for the current thread to be blocked until the request message is received or the interval of time specified by the <paramref name="timeout" /> has been exceeded. The asynchronous operation is available with or without an explicit timeout. </para>
<para>The operation is not complete until either a message becomes available in the channel or the time out occurs.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it. </para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous receive operation.</para>
</returns>
<param name="timeout">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies the interval of time to wait for a message to become available.</param>
<param name="callback">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.AsyncCallback" /> delegate that receives the notification of the asynchronous operation completion.</param>
<param name="state">
<attribution license="cc4" from="Microsoft" modified="false" />An object, specified by the application, that contains state information associated with the asynchronous operation.</param>
</Docs>
</Member>
<Member MemberName="BeginTryReceive">
<MemberSignature Language="C#" Value="public IAsyncResult BeginTryReceive (TimeSpan timeout, AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginTryReceive(valuetype System.TimeSpan timeout, class System.AsyncCallback callback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
<Parameter Name="callback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the asynchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginTryReceive(System.TimeSpan,System.AsyncCallback,System.Object)" /> method when you want the application processing to continue without waiting. Use the synchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.TryReceive(System.TimeSpan,System.ServiceModel.Channels.Message@)" /> method when it is acceptable for the current thread to be blocked while it replies to the request message or until the timeout interval is exceeded.</para>
<para>The operation is not complete until either a message becomes available in the channel or the timeout occurs.</para>
<para>If you are going to handle timeouts and not just re-throw or wrap the <see cref="T:System.TimeoutException" />, then you should call <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginTryReceive(System.TimeSpan,System.AsyncCallback,System.Object)" /> instead of <see cref="Overload:System.ServiceModel.Channels.IInputChannel.BeginReceive" />. </para>
<para>If you are not going to treat timeouts specially then just call <see cref="Overload:System.ServiceModel.Channels.IInputChannel.BeginReceive" />, otherwise you lose error information.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it. </para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous receive operation.</para>
</returns>
<param name="timeout">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies the interval of time to wait for a message to become available.</param>
<param name="callback">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.AsyncCallback" /> delegate that receives the notification of the asynchronous operation completion.</param>
<param name="state">
<attribution license="cc4" from="Microsoft" modified="false" />An object, specified by the application, that contains state information associated with the asynchronous operation.</param>
</Docs>
</Member>
<Member MemberName="BeginWaitForMessage">
<MemberSignature Language="C#" Value="public IAsyncResult BeginWaitForMessage (TimeSpan timeout, AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginWaitForMessage(valuetype System.TimeSpan timeout, class System.AsyncCallback callback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
<Parameter Name="callback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the asynchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginWaitForMessage(System.TimeSpan,System.AsyncCallback,System.Object)" /> method if you need the application processing to continue without waiting for the message to arrive. Use the synchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.WaitForMessage(System.TimeSpan)" /> method when it is acceptable for the current thread to be blocked while it waits for a message to arrive in the queue. The thread is blocked up to the specified <paramref name="timeout" />.</para>
<para>This method receives notification, through a callback, of the identity of the event handler for the operation. The operation is not complete until either a message becomes available in the channel or the time out occurs.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Begins an asynchronous wait-for-a-message-to-arrive operation that has a specified time out and state object associated with it. </para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous operation to wait for a message to arrive.</para>
</returns>
<param name="timeout">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies the interval of time to wait for a message to become available.</param>
<param name="callback">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.AsyncCallback" /> delegate that receives the notification of the asynchronous operation completion.</param>
<param name="state">
<attribution license="cc4" from="Microsoft" modified="false" />An object, specified by the application, that contains state information associated with the asynchronous operation.</param>
</Docs>
</Member>
<Member MemberName="EndReceive">
<MemberSignature Language="C#" Value="public System.ServiceModel.Channels.Message EndReceive (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ServiceModel.Channels.Message EndReceive(class System.IAsyncResult result) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.Message</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Completes an asynchronous operation to receive a message. </para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Channels.Message" /> received. </para>
</returns>
<param name="result">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IAsyncResult" /> returned by a call to one of the <see cref="Overload:System.ServiceModel.Channels.IInputChannel.BeginReceive" /> methods.</param>
</Docs>
</Member>
<Member MemberName="EndTryReceive">
<MemberSignature Language="C#" Value="public bool EndTryReceive (IAsyncResult result, out System.ServiceModel.Channels.Message message);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EndTryReceive(class System.IAsyncResult result, class System.ServiceModel.Channels.Message message) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
<Parameter Name="message" Type="System.ServiceModel.Channels.Message&" RefType="out" />
</Parameters>
<Docs>
<param name="result">To be added.</param>
<param name="message">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="EndWaitForMessage">
<MemberSignature Language="C#" Value="public bool EndWaitForMessage (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EndWaitForMessage(class System.IAsyncResult result) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Completes the specified asynchronous wait-for-a-message operation.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>true if a message has arrived before the <paramref name="timeout" /> has been exceeded; otherwise false.</para>
</returns>
<param name="result">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IAsyncResult" /> that identifies the <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginWaitForMessage(System.TimeSpan,System.AsyncCallback,System.Object)" /> operation to finish, and from which to retrieve an end result.</param>
</Docs>
</Member>
<Member MemberName="LocalAddress">
<MemberSignature Language="C#" Value="public System.ServiceModel.EndpointAddress LocalAddress { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.EndpointAddress LocalAddress" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.EndpointAddress</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If this input channel does not have a standalone address (for example, it is the input-side of a client-initiated TCP channel), then this property is null. </para>
<para>This property can be used by higher-level channels for correlation purposes. For example, if a higher-level channel implements request-reply on top of a <see cref="T:System.ServiceModel.Channels.IDuplexChannel" />, it can use the <see cref="P:System.ServiceModel.Channels.IInputChannel.LocalAddress" /> property in the WS-Addressing ReplyTo header. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the address on which the input channel receives messages. </para>
</summary>
</Docs>
</Member>
<Member MemberName="Receive">
<MemberSignature Language="C#" Value="public System.ServiceModel.Channels.Message Receive ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ServiceModel.Channels.Message Receive() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.Message</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the synchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> method when it is acceptable for the current thread to be blocked until it receives the request message or exceeds the interval of time specified by <paramref name="timeout" />. Use the asynchronous <see cref="Overload:System.ServiceModel.Channels.IInputChannel.BeginReceive" /> method when you want the application processing to continue without waiting for the request to be received. </para>
<para>The synchronous <see cref="Overload:System.ServiceModel.Channels.IInputChannel.Receive" /> operation is available with or without an explicit timeout.</para>
<para>If a message is not available, it blocks until one is available or until the timeout is exceeded.</para>
<para>
<see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> can be called multiple times or concurrently. Only one <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> call can complete for each message received.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the message received, if one is available. If a message is not available, blocks for a default interval of time.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Channels.Message" /> received. </para>
</returns>
</Docs>
</Member>
<Member MemberName="Receive">
<MemberSignature Language="C#" Value="public System.ServiceModel.Channels.Message Receive (TimeSpan timeout);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ServiceModel.Channels.Message Receive(valuetype System.TimeSpan timeout) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.Message</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the synchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> method when it is acceptable for the current thread to be blocked until it receives the request message or exceeds the interval of time specified by <paramref name="timeout" />. Use the asynchronous <see cref="Overload:System.ServiceModel.Channels.IInputChannel.BeginReceive" /> method when you want the application processing to continue without waiting for the request to be received. </para>
<para>The synchronous <see cref="Overload:System.ServiceModel.Channels.IInputChannel.Receive" /> operation is available with or without an explicit timeout.</para>
<para>If a message is not available, it blocks until one is available or until the timeout is exceeded.</para>
<para>
<see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> can be called multiple times or concurrently. Only one <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> call can complete for each message received. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the message received, if one is available. If a message is not available, blocks for a specified interval of time.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Channels.Message" /> received. </para>
</returns>
<param name="timeout">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies how long the receive operation has to complete before timing out and throwing a <see cref="T:System.TimeoutException" />.</param>
</Docs>
</Member>
<Member MemberName="TryReceive">
<MemberSignature Language="C#" Value="public bool TryReceive (TimeSpan timeout, out System.ServiceModel.Channels.Message message);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool TryReceive(valuetype System.TimeSpan timeout, class System.ServiceModel.Channels.Message message) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
<Parameter Name="message" Type="System.ServiceModel.Channels.Message&" RefType="out" />
</Parameters>
<Docs>
<param name="timeout">To be added.</param>
<param name="message">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="WaitForMessage">
<MemberSignature Language="C#" Value="public bool WaitForMessage (TimeSpan timeout);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool WaitForMessage(valuetype System.TimeSpan timeout) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Calling <see cref="M:System.ServiceModel.Channels.IInputChannel.WaitForMessage(System.TimeSpan)" /> does not result in a message being received or processed in any other way.</para>
<para>The <see cref="M:System.ServiceModel.Channels.IInputChannel.WaitForMessage(System.TimeSpan)" /> method exists primarily for transacted scenarios where the user wants to receive the message using a transaction. When using just <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> normally for this, the user must create the transaction and then call <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> and hope the message arrives before the transaction times out, which may not be possible.</para>
<para>Instead, the user can call <see cref="M:System.ServiceModel.Channels.IInputChannel.WaitForMessage(System.TimeSpan)" /> with whatever time out they want (even infinite), then when a message arrives they can open the transaction, call <see cref="M:System.ServiceModel.Channels.IInputChannel.Receive" /> and be confident that they can get the message back before the transaction expires.</para>
<para>This method is synchronous, so it blocks the current thread until a message is available or the time out occurs. Use <see cref="M:System.ServiceModel.Channels.IInputChannel.WaitForMessage(System.TimeSpan)" /> when it is acceptable for the current thread to be blocked while it waits for a message to arrive in the queue. The thread is blocked up to the specified <paramref name="timeout" />. If you need the application processing to continue without waiting, use the asynchronous <see cref="M:System.ServiceModel.Channels.IInputChannel.BeginWaitForMessage(System.TimeSpan,System.AsyncCallback,System.Object)" /> method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns a value that indicates whether a message has arrived within a specified interval of time.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>true if a message has arrived before the <paramref name="timeout" /> has been exceeded; otherwise false.</para>
</returns>
<param name="timeout">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> specifies the maximum interval of time to wait for a message to arrive before timing out.</param>
</Docs>
</Member>
</Members>
</Type>
|