Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

341 lines
21 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Type Name="RequestContext" FullName="System.ServiceModel.Channels.RequestContext">
<TypeSignature Language="C#" Value="public abstract class RequestContext : IDisposable" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit RequestContext extends System.Object implements class System.IDisposable" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You get a request context from an <see cref="T:System.ServiceModel.Channels.IReplyChannel" />. Each <see cref="T:System.ServiceModel.Channels.RequestContext" /> encapsulates the information required to reply to the request, so that you do not have to block on the channel when waiting for each request message to receive a reply.</para>
<para>In the request/reply model, the <see cref="T:System.ServiceModel.Channels.RequestContext" /> object is the link between the request that comes in and the reply that goes out. When the server receives a request, it provides a <see cref="T:System.ServiceModel.Channels.RequestContext" /> instance that represents the request to the channel. The request context contains the original request message among other useful properties. This request context is then stashed inside the <see cref="T:System.ServiceModel.OperationContext" /> for retrieval by your service. You typically use the <see cref="P:System.ServiceModel.OperationContext.Current" /> property to access the request of the current operation. </para>
<para>The value of the <see cref="T:System.ServiceModel.Channels.RequestContext" /> can be null. Because the role of the request context is to link requests to replies, it does not make sense to have a request context when you do not have a reply, and so in this case the context is set to null. For a one-way operation on top of the request/reply model, the server receives requests but does not send back a response to the client. So if the <see cref="T:System.ServiceModel.Channels.RequestContext" /> is null unexpectedly, check first whether the operation contract is IsOneWay. </para>
<para>Special note for Managed C++ users deriving from this class:</para>
<list type="bullet">
<item>
<para>Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.</para>
</item>
<item>
<para>Avoid destructors: they cause the compiler to auto-generate <see cref="T:System.IDisposable" />.</para>
</item>
<item>
<para>Avoid non-reference members: they can cause the compiler to auto-generate <see cref="T:System.IDisposable" />.</para>
</item>
<item>
<para>Avoid finalizers; but if you include one, you should suppress the build warning and call <see cref="M:System.GC.SuppressFinalize(System.Object)" /> and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated <see cref="T:System.IDisposable" /> behavior.</para>
</item>
</list>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides a reply that is correlated to an incoming request.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected RequestContext ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.RequestContext" /> class. </para>
</summary>
</Docs>
</Member>
<Member MemberName="Abort">
<MemberSignature Language="C#" Value="public abstract void Abort ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Abort() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, aborts processing the request associated with the context. </para>
</summary>
</Docs>
</Member>
<Member MemberName="BeginReply">
<MemberSignature Language="C#" Value="public abstract IAsyncResult BeginReply (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginReply(class System.ServiceModel.Channels.Message message, 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="message" Type="System.ServiceModel.Channels.Message" />
<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.RequestContext.BeginReply" /> method when the application processing must continue without waiting. Use one of the synchronous <see cref="M:System.ServiceModel.Channels.RequestContext.Reply" /> methods when it is acceptable for the current thread to be blocked while it replies to the request message or until the time-out interval is exceeded.</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 the reply is sent or the time-out occurs.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, begins an asynchronous operation to reply to the request associated with the current context.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous reply operation.</para>
</returns>
<param name="message">
<attribution license="cc4" from="Microsoft" modified="false" />The incoming <see cref="T:System.ServiceModel.Channels.Message" /> that contains the request.</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 reply 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 reply operation.</param>
</Docs>
</Member>
<Member MemberName="BeginReply">
<MemberSignature Language="C#" Value="public abstract IAsyncResult BeginReply (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginReply(class System.ServiceModel.Channels.Message message, 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="message" Type="System.ServiceModel.Channels.Message" />
<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.RequestContext.BeginReply" /> method to allow the application processing to continue without waiting for the request to complete. </para>
<para>Use one of the synchronous <see cref="M:System.ServiceModel.Channels.RequestContext.Reply" /> methods when it is acceptable for the current thread to be blocked while it replies to the request message or until the time-out interval is exceeded. This method receives notification, through a callback, of the identity of the event handler for the operation. The operation is not complete until either the reply is sent or the time-out occurs.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, begins an asynchronous operation to reply to the request associated with the current context within a specified interval of time.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous reply operation.</para>
</returns>
<param name="message">
<attribution license="cc4" from="Microsoft" modified="false" />The incoming <see cref="T:System.ServiceModel.Channels.Message" /> that contains the request.</param>
<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 the reply to an available request.</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 reply 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 reply operation.</param>
</Docs>
</Member>
<Member MemberName="Close">
<MemberSignature Language="C#" Value="public abstract void Close ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Close() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, closes the operation that is replying to the request context associated with the current context.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Close">
<MemberSignature Language="C#" Value="public abstract void Close (TimeSpan timeout);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Close(valuetype System.TimeSpan timeout) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="timeout" Type="System.TimeSpan" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, closes the operation that is replying to the request context associated with the current context within a specified interval of time.</para>
</summary>
<param name="timeout">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies the interval of time within which the reply operation associated with the current context must close.</param>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Dispose(bool disposing) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="disposing" Type="System.Boolean" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Releases resources associated with the context.</para>
</summary>
<param name="disposing">
<attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources; false to release only unmanaged resources. </param>
</Docs>
</Member>
<Member MemberName="EndReply">
<MemberSignature Language="C#" Value="public abstract void EndReply (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EndReply(class System.IAsyncResult result) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</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>When overridden in a derived class, completes an asynchronous operation to reply to a request message.</para>
</summary>
<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.RequestContext.BeginReply" /> methods.</param>
</Docs>
</Member>
<Member MemberName="Reply">
<MemberSignature Language="C#" Value="public abstract void Reply (System.ServiceModel.Channels.Message message);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Reply(class System.ServiceModel.Channels.Message message) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="message" Type="System.ServiceModel.Channels.Message" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use <see cref="M:System.ServiceModel.Channels.RequestContext.Reply" /> when it is acceptable for the current thread to be blocked while it replies to the request message. The thread is blocked up to the specified <paramref name="timeout" />. </para>
<para>If the application processing must continue without waiting for the reply to complete, use the asynchronous <see cref="M:System.ServiceModel.Channels.RequestContext.BeginReply" /> method. 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>When overridden in a derived class, replies to a request message.</para>
</summary>
<param name="message">
<attribution license="cc4" from="Microsoft" modified="false" />The incoming <see cref="T:System.ServiceModel.Channels.Message" /> that contains the request.</param>
</Docs>
</Member>
<Member MemberName="Reply">
<MemberSignature Language="C#" Value="public abstract void Reply (System.ServiceModel.Channels.Message message, TimeSpan timeout);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Reply(class System.ServiceModel.Channels.Message message, valuetype System.TimeSpan timeout) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="message" Type="System.ServiceModel.Channels.Message" />
<Parameter Name="timeout" Type="System.TimeSpan" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use <see cref="M:System.ServiceModel.Channels.RequestContext.Reply" /> when it is acceptable for the current thread to be blocked while it replies to the request message. The thread is blocked up to the specified <paramref name="timeout" />. </para>
<para>If the application processing must continue without waiting for the reply to complete, use the asynchronous <see cref="M:System.ServiceModel.Channels.RequestContext.BeginReply" /> method. 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>When overridden in a derived class, replies to a request message within a specified interval of time.</para>
</summary>
<param name="message">
<attribution license="cc4" from="Microsoft" modified="false" />The incoming <see cref="T:System.ServiceModel.Channels.Message" /> that contains the request.</param>
<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 the reply to a request.</param>
</Docs>
</Member>
<Member MemberName="RequestMessage">
<MemberSignature Language="C#" Value="public abstract System.ServiceModel.Channels.Message RequestMessage { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Channels.Message RequestMessage" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.Message</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, gets the message that contains the request.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.IDisposable.Dispose">
<MemberSignature Language="C#" Value="void IDisposable.Dispose ();" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.IDisposable.Dispose() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Releases both managed and unmanaged resources associated with the context.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>