-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
BinaryServerFormatterSink.xml
314 lines (298 loc) · 31.2 KB
/
BinaryServerFormatterSink.xml
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
<Type Name="BinaryServerFormatterSink" FullName="System.Runtime.Remoting.Channels.BinaryServerFormatterSink">
<TypeSignature Language="C#" Value="public class BinaryServerFormatterSink : System.Runtime.Remoting.Channels.IServerChannelSink" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit BinaryServerFormatterSink extends System.Object implements class System.Runtime.Remoting.Channels.IChannelSinkBase, class System.Runtime.Remoting.Channels.IServerChannelSink" />
<TypeSignature Language="DocId" Value="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSink" />
<TypeSignature Language="VB.NET" Value="Public Class BinaryServerFormatterSink
Implements IServerChannelSink" />
<TypeSignature Language="F#" Value="type BinaryServerFormatterSink = class
 interface IServerChannelSink
 interface IChannelSinkBase" />
<TypeSignature Language="C++ CLI" Value="public ref class BinaryServerFormatterSink : System::Runtime::Remoting::Channels::IServerChannelSink" />
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Runtime.Remoting.Channels.IChannelSinkBase</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Runtime.Remoting.Channels.IServerChannelSink</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<summary>Provides the implementation for a server formatter sink that uses the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The request stream propagates from the server transport sink through the server channel sinks until it reaches the appropriate formatter sink. The formatter sink deserializes the message and passes it through the pipeline. A special dispatch sink is inserted at the end of the channel sink chain by the <xref:System.Runtime.Remoting.Channels.ChannelServices.CreateServerChannelSinkChain%2A?displayProperty=nameWithType> method, which is called by server channels to create the server channel sink chains. When the message reaches the dispatch sink, the dispatch sink passes the message to the remoting infrastructure.
The following table shows the sink configuration properties that can be specified for the current sink provider.
|Property|Description|
|--------------|-----------------|
|`includeVersions`|Specifies whether the formatter will include versioning information. Values `true` or `false`.|
|`strictBinding`|Indicates that a receiving formatter will first try to identify the type using complete version information if it exists before using only the type name and assembly name without version information. Values `true` or `false`. The default for both system-provided formatters is `false`.|
|`typeFilterLevel`|A string value that specifies the level of automatic deserialization that a server channel attempts. Supported values are `Low` (the default) and `Full`. For details about deserialization levels, see [Automatic Deserialization in .NET Framework Remoting](https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/5dxse167(v=vs.100)).<br /><br /> This property is supported only by the .NET Framework version 1.1 on the following platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, and Windows Server 2003 family.|
> [!IMPORTANT]
> Using an instance of this object with untrusted data or across an unsecure channel is a security risk. Use this object only with trusted data and across a secure channel. For more information, see [Validate All Inputs](https://owasp.org/www-project-proactive-controls/v3/en/c5-validate-inputs).
]]></format>
</remarks>
<altmember cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider" />
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/tdzwhfy3(v=vs.100)">Sinks and Sink Chains</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/5dxse167(v=vs.100)">Automatic Deserialization in .NET Framework Remoting</related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public BinaryServerFormatterSink (System.Runtime.Remoting.Channels.BinaryServerFormatterSink.Protocol protocol, System.Runtime.Remoting.Channels.IServerChannelSink nextSink, System.Runtime.Remoting.Channels.IChannelReceiver receiver);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Runtime.Remoting.Channels.BinaryServerFormatterSink/Protocol protocol, class System.Runtime.Remoting.Channels.IServerChannelSink nextSink, class System.Runtime.Remoting.Channels.IChannelReceiver receiver) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.#ctor(System.Runtime.Remoting.Channels.BinaryServerFormatterSink.Protocol,System.Runtime.Remoting.Channels.IServerChannelSink,System.Runtime.Remoting.Channels.IChannelReceiver)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (protocol As BinaryServerFormatterSink.Protocol, nextSink As IServerChannelSink, receiver As IChannelReceiver)" />
<MemberSignature Language="F#" Value="new System.Runtime.Remoting.Channels.BinaryServerFormatterSink : System.Runtime.Remoting.Channels.BinaryServerFormatterSink.Protocol * System.Runtime.Remoting.Channels.IServerChannelSink * System.Runtime.Remoting.Channels.IChannelReceiver -> System.Runtime.Remoting.Channels.BinaryServerFormatterSink" Usage="new System.Runtime.Remoting.Channels.BinaryServerFormatterSink (protocol, nextSink, receiver)" />
<MemberSignature Language="C++ CLI" Value="public:
 BinaryServerFormatterSink(System::Runtime::Remoting::Channels::BinaryServerFormatterSink::Protocol protocol, System::Runtime::Remoting::Channels::IServerChannelSink ^ nextSink, System::Runtime::Remoting::Channels::IChannelReceiver ^ receiver);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="protocol" Type="System.Runtime.Remoting.Channels.BinaryServerFormatterSink+Protocol" />
<Parameter Name="nextSink" Type="System.Runtime.Remoting.Channels.IServerChannelSink" />
<Parameter Name="receiver" Type="System.Runtime.Remoting.Channels.IChannelReceiver" />
</Parameters>
<Docs>
<param name="protocol">The <see cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.Protocol" /> that will be used with the current instance of <see cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSink" />.</param>
<param name="nextSink">The next sink in the channel sink chain.</param>
<param name="receiver">Indicates the channel that will receive the messages that are serialized by the new instance of <see cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSink" />.</param>
<summary>Initializes a new instance of the <see cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSink" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="AsyncProcessResponse">
<MemberSignature Language="C#" Value="public void AsyncProcessResponse (System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack sinkStack, object state, System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders headers, System.IO.Stream stream);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AsyncProcessResponse(class System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack sinkStack, object state, class System.Runtime.Remoting.Messaging.IMessage msg, class System.Runtime.Remoting.Channels.ITransportHeaders headers, class System.IO.Stream stream) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.AsyncProcessResponse(System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack,System.Object,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream)" />
<MemberSignature Language="VB.NET" Value="Public Sub AsyncProcessResponse (sinkStack As IServerResponseChannelSinkStack, state As Object, msg As IMessage, headers As ITransportHeaders, stream As Stream)" />
<MemberSignature Language="F#" Value="abstract member AsyncProcessResponse : System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack * obj * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream -> unit
override this.AsyncProcessResponse : System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack * obj * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream -> unit" Usage="binaryServerFormatterSink.AsyncProcessResponse (sinkStack, state, msg, headers, stream)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void AsyncProcessResponse(System::Runtime::Remoting::Channels::IServerResponseChannelSinkStack ^ sinkStack, System::Object ^ state, System::Runtime::Remoting::Messaging::IMessage ^ msg, System::Runtime::Remoting::Channels::ITransportHeaders ^ headers, System::IO::Stream ^ stream);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Runtime.Remoting.Channels.IServerChannelSink.AsyncProcessResponse(System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack,System.Object,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sinkStack" Type="System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack" />
<Parameter Name="state" Type="System.Object" />
<Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
<Parameter Name="headers" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
<Parameter Name="stream" Type="System.IO.Stream" />
</Parameters>
<Docs>
<param name="sinkStack">A stack of sinks that is leading back to the server transport sink.</param>
<param name="state">Information that is associated with the current sink, generated on the request side, and needed on the response side.</param>
<param name="msg">The response message.</param>
<param name="headers">The headers to add to the return message that is heading to the client.</param>
<param name="stream">The stream that is heading back to the transport sink.</param>
<summary>Requests processing of the response from a method call that is sent asynchronously.</summary>
<remarks>To be added.</remarks>
<altmember cref="T:System.Runtime.Remoting.Channels.ServerChannelSinkStack" />
<altmember cref="M:System.Runtime.Remoting.Channels.ServerChannelSinkStack.Push(System.Runtime.Remoting.Channels.IServerChannelSink,System.Object)" />
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/tdzwhfy3(v=vs.100)">Sinks and Sink Chains</related>
</Docs>
</Member>
<Member MemberName="GetResponseStream">
<MemberSignature Language="C#" Value="public System.IO.Stream GetResponseStream (System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack sinkStack, object state, System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders headers);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IO.Stream GetResponseStream(class System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack sinkStack, object state, class System.Runtime.Remoting.Messaging.IMessage msg, class System.Runtime.Remoting.Channels.ITransportHeaders headers) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.GetResponseStream(System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack,System.Object,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders)" />
<MemberSignature Language="VB.NET" Value="Public Function GetResponseStream (sinkStack As IServerResponseChannelSinkStack, state As Object, msg As IMessage, headers As ITransportHeaders) As Stream" />
<MemberSignature Language="F#" Value="abstract member GetResponseStream : System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack * obj * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders -> System.IO.Stream
override this.GetResponseStream : System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack * obj * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders -> System.IO.Stream" Usage="binaryServerFormatterSink.GetResponseStream (sinkStack, state, msg, headers)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::IO::Stream ^ GetResponseStream(System::Runtime::Remoting::Channels::IServerResponseChannelSinkStack ^ sinkStack, System::Object ^ state, System::Runtime::Remoting::Messaging::IMessage ^ msg, System::Runtime::Remoting::Channels::ITransportHeaders ^ headers);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Runtime.Remoting.Channels.IServerChannelSink.GetResponseStream(System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack,System.Object,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IO.Stream</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sinkStack" Type="System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack" />
<Parameter Name="state" Type="System.Object" />
<Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
<Parameter Name="headers" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
</Parameters>
<Docs>
<param name="sinkStack">A stack of sinks that is leading back to the server transport sink.</param>
<param name="state">Information that is associated with the current sink, generated on the request side, and needed on the response side.</param>
<param name="msg">The response message to serialize.</param>
<param name="headers">The headers to put in the response stream to the client.</param>
<summary>Returns the <see cref="T:System.IO.Stream" /> onto which the provided response message is to be serialized.</summary>
<returns>The <see cref="T:System.IO.Stream" /> onto which the provided response message is to be serialized.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is called when a response stream needs to be created.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/tdzwhfy3(v=vs.100)">Sinks and Sink Chains</related>
</Docs>
</Member>
<Member MemberName="NextChannelSink">
<MemberSignature Language="C#" Value="public System.Runtime.Remoting.Channels.IServerChannelSink NextChannelSink { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Remoting.Channels.IServerChannelSink NextChannelSink" />
<MemberSignature Language="DocId" Value="P:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.NextChannelSink" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property NextChannelSink As IServerChannelSink" />
<MemberSignature Language="F#" Value="member this.NextChannelSink : System.Runtime.Remoting.Channels.IServerChannelSink" Usage="System.Runtime.Remoting.Channels.BinaryServerFormatterSink.NextChannelSink" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Runtime::Remoting::Channels::IServerChannelSink ^ NextChannelSink { System::Runtime::Remoting::Channels::IServerChannelSink ^ get(); };" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:System.Runtime.Remoting.Channels.IServerChannelSink.NextChannelSink</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Remoting.Channels.IServerChannelSink</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the next <see cref="T:System.Runtime.Remoting.Channels.IServerChannelSink" /> in the sink chain.</summary>
<value>The next <see cref="T:System.Runtime.Remoting.Channels.IServerChannelSink" /> in the sink chain.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ProcessMessage">
<MemberSignature Language="C#" Value="public System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage(class System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, class System.Runtime.Remoting.Messaging.IMessage requestMsg, class System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, class System.IO.Stream requestStream, [out] class System.Runtime.Remoting.Messaging.IMessage& responseMsg, [out] class System.Runtime.Remoting.Channels.ITransportHeaders& responseHeaders, [out] class System.IO.Stream& responseStream) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream,System.Runtime.Remoting.Messaging.IMessage@,System.Runtime.Remoting.Channels.ITransportHeaders@,System.IO.Stream@)" />
<MemberSignature Language="VB.NET" Value="Public Function ProcessMessage (sinkStack As IServerChannelSinkStack, requestMsg As IMessage, requestHeaders As ITransportHeaders, requestStream As Stream, ByRef responseMsg As IMessage, ByRef responseHeaders As ITransportHeaders, ByRef responseStream As Stream) As ServerProcessing" />
<MemberSignature Language="F#" Value="abstract member ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
override this.ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing" Usage="binaryServerFormatterSink.ProcessMessage (sinkStack, requestMsg, requestHeaders, requestStream, responseMsg, responseHeaders, responseStream)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Runtime::Remoting::Channels::ServerProcessing ProcessMessage(System::Runtime::Remoting::Channels::IServerChannelSinkStack ^ sinkStack, System::Runtime::Remoting::Messaging::IMessage ^ requestMsg, System::Runtime::Remoting::Channels::ITransportHeaders ^ requestHeaders, System::IO::Stream ^ requestStream, [Runtime::InteropServices::Out] System::Runtime::Remoting::Messaging::IMessage ^ % responseMsg, [Runtime::InteropServices::Out] System::Runtime::Remoting::Channels::ITransportHeaders ^ % responseHeaders, [Runtime::InteropServices::Out] System::IO::Stream ^ % responseStream);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Runtime.Remoting.Channels.IServerChannelSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream,System.Runtime.Remoting.Messaging.IMessage@,System.Runtime.Remoting.Channels.ITransportHeaders@,System.IO.Stream@)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Remoting.Channels.ServerProcessing</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sinkStack" Type="System.Runtime.Remoting.Channels.IServerChannelSinkStack" />
<Parameter Name="requestMsg" Type="System.Runtime.Remoting.Messaging.IMessage" />
<Parameter Name="requestHeaders" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
<Parameter Name="requestStream" Type="System.IO.Stream" />
<Parameter Name="responseMsg" Type="System.Runtime.Remoting.Messaging.IMessage" RefType="out" />
<Parameter Name="responseHeaders" Type="System.Runtime.Remoting.Channels.ITransportHeaders" RefType="out" />
<Parameter Name="responseStream" Type="System.IO.Stream" RefType="out" />
</Parameters>
<Docs>
<param name="sinkStack">A stack of channel sinks that called the current sink.</param>
<param name="requestMsg">The message that contains the request.</param>
<param name="requestHeaders">Headers that are retrieved from the incoming message from the client.</param>
<param name="requestStream">The stream that needs to be processed and passed on to the deserialization sink.</param>
<param name="responseMsg">When this method returns, contains a <see cref="T:System.Runtime.Remoting.Messaging.IMessage" /> that holds the response message. This parameter is passed uninitialized.</param>
<param name="responseHeaders">When this method returns, contains a <see cref="T:System.Runtime.Remoting.Channels.ITransportHeaders" /> that holds the headers to add to the return message that is heading to the client. This parameter is passed uninitialized.</param>
<param name="responseStream">When this method returns, contains a <see cref="T:System.IO.Stream" /> that is heading to the transport sink. This parameter is passed uninitialized.</param>
<summary>Requests message processing from the current sink.</summary>
<returns>A <see cref="T:System.Runtime.Remoting.Channels.ServerProcessing" /> status value that provides information about how the message was processed.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The proxy's job is to convert a method call that is invoked on it into a message. The message, which implements the <xref:System.Runtime.Remoting.Messaging.IMessage> interface, is passed from the client end to the server end by invoking <xref:System.Runtime.Remoting.Channels.IServerChannelSink.ProcessMessage%2A> on message sink objects. Message sinks are chained together, which means that every message sink is responsible for calling <xref:System.Runtime.Remoting.Channels.IServerChannelSink.ProcessMessage%2A> on the next message sink after the current message sink has finished its work. For instance, a synchronization-related message sink might cause a lock to be acquired or released and delegated to the downstream message sink.
When the formatter channel sink gets a message that needs to be sent over the channel, it calls <xref:System.Runtime.Remoting.Messaging.IMessageSink.SyncProcessMessage%2A>, passing the message as a parameter. The formatter sink then creates the transport header array and calls <xref:System.Runtime.Remoting.Channels.IClientChannelSink.GetRequestStream%2A> on the formatter sink. This call is forwarded down the sink chain, and any sink can create a request stream that will be passed back to the formatter sink. After this call returns, the message is serialized, <xref:System.Runtime.Remoting.Channels.IClientChannelSink.ProcessMessage%2A> is called on the first chain in the sink chain, and the message is passed to the channel sinks.
After the channel sinks get the message, they can write data to the stream, add headers to the header array, and add themselves to the sink stack before forwarding the call to the next sink. When the call reaches the transport sink at the end of the chain, the transport sink sends the headers and serialized message over the channel to the server, where the process is reversed.
When the message gets to the server side, the transport sink retrieves the headers and serialized message from the stream and forwards these through the sink chain until the formatter sink is reached. The formatter sink then deserializes the message and forwards it to the remoting infrastructure. Then, the remoting infrastructure turns the message into a method call, and calls the server object.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Properties">
<MemberSignature Language="C#" Value="public System.Collections.IDictionary Properties { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.IDictionary Properties" />
<MemberSignature Language="DocId" Value="P:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.Properties" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Properties As IDictionary" />
<MemberSignature Language="F#" Value="member this.Properties : System.Collections.IDictionary" Usage="System.Runtime.Remoting.Channels.BinaryServerFormatterSink.Properties" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Collections::IDictionary ^ Properties { System::Collections::IDictionary ^ get(); };" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:System.Runtime.Remoting.Channels.IChannelSinkBase.Properties</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.IDictionary</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a <see cref="T:System.Collections.IDictionary" /> of properties for the current channel sink.</summary>
<value>A <see cref="T:System.Collections.IDictionary" /> of properties for the current channel sink.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For more information, see [Channel and Formatter Configuration Properties](https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/kw7c6kwc(v=vs.100)).
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/kw7c6kwc(v=vs.100)">Channel and Formatter Configuration Properties</related>
</Docs>
</Member>
<Member MemberName="TypeFilterLevel">
<MemberSignature Language="C#" Value="public System.Runtime.Serialization.Formatters.TypeFilterLevel TypeFilterLevel { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Runtime.Serialization.Formatters.TypeFilterLevel TypeFilterLevel" />
<MemberSignature Language="DocId" Value="P:System.Runtime.Remoting.Channels.BinaryServerFormatterSink.TypeFilterLevel" />
<MemberSignature Language="VB.NET" Value="Public Property TypeFilterLevel As TypeFilterLevel" />
<MemberSignature Language="F#" Value="member this.TypeFilterLevel : System.Runtime.Serialization.Formatters.TypeFilterLevel with get, set" Usage="System.Runtime.Remoting.Channels.BinaryServerFormatterSink.TypeFilterLevel" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Runtime::Serialization::Formatters::TypeFilterLevel TypeFilterLevel { System::Runtime::Serialization::Formatters::TypeFilterLevel get(); void set(System::Runtime::Serialization::Formatters::TypeFilterLevel value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Runtime.Remoting</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Runtime.InteropServices.ComVisible(false)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.InteropServices.ComVisible(false)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Runtime.Serialization.Formatters.TypeFilterLevel</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the <see langword="TypeFilterLevel" /> value of automatic deserialization that the <see langword="BinaryServerFormatterSink" /> performs.</summary>
<value>The <see langword="TypeFilterLevel" /> that represents the current automatic deserialization level.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Supported values are `Low` (the default) and `Full`. For details about deserialization levels, see [Automatic Deserialization in .NET Remoting](https://learn.microsoft.com/previous-versions/dotnet/netframework-4.0/5dxse167(v=vs.100)).
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>