/
SoapExtensionReflector.xml
143 lines (133 loc) · 10.3 KB
/
SoapExtensionReflector.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
<Type Name="SoapExtensionReflector" FullName="System.Web.Services.Description.SoapExtensionReflector">
<TypeSignature Language="C#" Value="public abstract class SoapExtensionReflector" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit SoapExtensionReflector extends System.Object" />
<TypeSignature Language="DocId" Value="T:System.Web.Services.Description.SoapExtensionReflector" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class SoapExtensionReflector" />
<TypeSignature Language="F#" Value="type SoapExtensionReflector = class" />
<TypeSignature Language="C++ CLI" Value="public ref class SoapExtensionReflector abstract" />
<AssemblyInfo>
<AssemblyName>System.Web.Services</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 />
<Docs>
<summary>Provides a common interface and functionality for classes to add SOAP extension information to a <see cref="T:System.Web.Services.Description.ServiceDescription" /> object on a per-method basis.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The abstract <xref:System.Web.Services.Description.SoapExtensionReflector> class exposes an abstract method, <xref:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod%2A>. This abstract method allows a derived class to add descriptions of SOAP extensions when reflecting a Web method into objects that are placed in a <xref:System.Web.Services.Description.ServiceDescription> object. The method itself is not an input. The descriptions get added for all Web methods belonging to a specified binding that produces a <xref:System.Web.Services.Description.ServiceDescription>.
You can use a <xref:System.Web.Services.Description.ServiceDescription> to generate a Web Services Description Language (WSDL) document via the <xref:System.Web.Services.Description.ServiceDescription.Write%2A> method. The <xref:System.Web.Services.Description.ServiceDescriptionImporter> class and related classes can also use a <xref:System.Web.Services.Description.ServiceDescription> to generate client proxy code or abstract server code.
Use a class derived from the <xref:System.Web.Services.Description.SoapExtensionReflector> class in conjunction with a class derived from the abstract <xref:System.Web.Services.Protocols.SoapExtension> class to extend run-time processing of SOAP messages on the client or service.
You can specify <xref:System.Web.Services.Description.SoapExtensionReflector> in a configuration file via the [\<soapExtensionReflectorTypes> Element](https://msdn.microsoft.com/library/6950609a-c9a3-4f6f-a5fc-a05d6d204d5c) element and its child **add** element. You can also apply the configuration to an ASP.NET Web application that publishes a Web service.
]]></format>
</remarks>
<altmember cref="T:System.Web.Services.Protocols.SoapExtension" />
<altmember cref="M:System.Web.Services.Description.ProtocolReflector.ReflectMethod" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected SoapExtensionReflector ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Services.Description.SoapExtensionReflector.#ctor" />
<MemberSignature Language="VB.NET" Value="Protected Sub New ()" />
<MemberSignature Language="C++ CLI" Value="protected:
 SoapExtensionReflector();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Services</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes an instance of the <see cref="T:System.Web.Services.Description.SoapExtensionReflector" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ReflectDescription">
<MemberSignature Language="C#" Value="public virtual void ReflectDescription ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ReflectDescription() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Services.Description.SoapExtensionReflector.ReflectDescription" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub ReflectDescription ()" />
<MemberSignature Language="F#" Value="abstract member ReflectDescription : unit -> unit
override this.ReflectDescription : unit -> unit" Usage="soapExtensionReflector.ReflectDescription " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void ReflectDescription();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Services</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Generates service-specific description information that gets placed in a <see cref="T:System.Web.Services.Description.ServiceDescription" /> object corresponding to a binding.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ReflectionContext">
<MemberSignature Language="C#" Value="public System.Web.Services.Description.ProtocolReflector ReflectionContext { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Web.Services.Description.ProtocolReflector ReflectionContext" />
<MemberSignature Language="DocId" Value="P:System.Web.Services.Description.SoapExtensionReflector.ReflectionContext" />
<MemberSignature Language="VB.NET" Value="Public Property ReflectionContext As ProtocolReflector" />
<MemberSignature Language="F#" Value="member this.ReflectionContext : System.Web.Services.Description.ProtocolReflector with get, set" Usage="System.Web.Services.Description.SoapExtensionReflector.ReflectionContext" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Web::Services::Description::ProtocolReflector ^ ReflectionContext { System::Web::Services::Description::ProtocolReflector ^ get(); void set(System::Web::Services::Description::ProtocolReflector ^ value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Services</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Web.Services.Description.ProtocolReflector</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the instance of a class derived from the abstract <see cref="T:System.Web.Services.Description.ProtocolReflector" /> class that invokes the <see cref="M:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod" /> method.</summary>
<value>The instance of a class derived from the abstract <see cref="T:System.Web.Services.Description.ProtocolReflector" /> class that invokes the <see cref="M:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod" /> method.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If you implement a class that's derived from the <xref:System.Web.Services.Description.SoapExtensionReflector> `abstract` class, you do not need to implement a class that is derived from <xref:System.Web.Services.Description.ProtocolReflector> to invoke the <xref:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod%2A> method or to set the <xref:System.Web.Services.Description.SoapExtensionReflector.ReflectionContext%2A> property.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ReflectMethod">
<MemberSignature Language="C#" Value="public abstract void ReflectMethod ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ReflectMethod() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod" />
<MemberSignature Language="VB.NET" Value="Public MustOverride Sub ReflectMethod ()" />
<MemberSignature Language="F#" Value="abstract member ReflectMethod : unit -> unit" Usage="soapExtensionReflector.ReflectMethod " />
<MemberSignature Language="C++ CLI" Value="public:
 abstract void ReflectMethod();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Services</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 />
<Docs>
<summary>
<see langword="Abstract" /> method that a derived class must implement to add SOAP extension information to a <see cref="T:System.Web.Services.Description.ServiceDescription" /> object on a per-method basis.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod%2A> method is called for each Web method that belongs to a binding that the <xref:System.Web.Services.Description.ServiceDescription> represents. The <xref:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod%2A> method does not use the Web method directly. The SOAP extension information gets added for all Web methods in a binding reflected from a Web service class.
An implementation of the <xref:System.Web.Services.Description.SoapExtensionReflector.ReflectMethod%2A> can generate information like operation binding, `abstract` operation, and messages.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>