-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
SimpleTypeResolver.xml
131 lines (121 loc) · 7.73 KB
/
SimpleTypeResolver.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
<Type Name="SimpleTypeResolver" FullName="System.Web.Script.Serialization.SimpleTypeResolver">
<TypeSignature Language="C#" Value="public class SimpleTypeResolver : System.Web.Script.Serialization.JavaScriptTypeResolver" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleTypeResolver extends System.Web.Script.Serialization.JavaScriptTypeResolver" />
<TypeSignature Language="DocId" Value="T:System.Web.Script.Serialization.SimpleTypeResolver" />
<TypeSignature Language="VB.NET" Value="Public Class SimpleTypeResolver
Inherits JavaScriptTypeResolver" />
<TypeSignature Language="F#" Value="type SimpleTypeResolver = class
 inherit JavaScriptTypeResolver" />
<TypeSignature Language="C++ CLI" Value="public ref class SimpleTypeResolver : System::Web::Script::Serialization::JavaScriptTypeResolver" />
<AssemblyInfo>
<AssemblyName>System.Web.Extensions</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Web.Script.Serialization.JavaScriptTypeResolver</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Provides an insecure type resolver for managed types.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
> [!WARNING]
> The `SimpleTypeResolver` class is insecure and should not be used. Using `SimpleTypeResolver` to deserialize JSON could allow the remote client to execute malicious code within the app and take control of the web server.
For a sample that demonstrates using a custom `JavaScriptTypeResolver` safely, see <xref:System.Web.Script.Serialization.JavaScriptTypeResolver>.
.NET provides source analyzers that alert you to usage of the dangerous `SimpleTypeResolver` type. For more information about source analyzers, see [Overview of source code analyzers](/visualstudio/code-quality/roslyn-analyzers-overview). For instructions on installing the source analyzers, see [Install .NET Compiler Platform code analyzers](/visualstudio/code-quality/install-roslyn-analyzers).
When the source analyzers package is activated in a project, references to `SimpleTypeResolver` produce one of the following compiler warnings:
- [CA2321: Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver](/visualstudio/code-quality/ca2321)
- [CA2322: Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing](/visualstudio/code-quality/ca2322)
## Examples
]]></format>
</remarks>
<altmember cref="P:System.Type.AssemblyQualifiedName" />
<related type="Article" href="https://msdn.microsoft.com/library/8290e543-7eff-47a4-aace-681f3c07229b">Web Services in ASP.NET AJAX</related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SimpleTypeResolver ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Script.Serialization.SimpleTypeResolver.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 SimpleTypeResolver();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Extensions</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Web.Script.Serialization.SimpleTypeResolver" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ResolveType">
<MemberSignature Language="C#" Value="public override Type ResolveType (string id);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Type ResolveType(string id) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Script.Serialization.SimpleTypeResolver.ResolveType(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ResolveType (id As String) As Type" />
<MemberSignature Language="F#" Value="override this.ResolveType : string -> Type" Usage="simpleTypeResolver.ResolveType id" />
<MemberSignature Language="C++ CLI" Value="public:
 override Type ^ ResolveType(System::String ^ id);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Extensions</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="id" Type="System.String" />
</Parameters>
<Docs>
<param name="id">The assembly-qualified name of the managed type.</param>
<summary>Returns the <see cref="T:System.Type" /> of the specified name.</summary>
<returns>A <see cref="T:System.Type" /> object that has the specified name, if found; otherwise, <see langword="null" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.Script.Serialization.SimpleTypeResolver.ResolveType%2A> method calls the <xref:System.Type.GetType%2A?displayProperty=nameWithType> method to resolve the type.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ResolveTypeId">
<MemberSignature Language="C#" Value="public override string ResolveTypeId (Type type);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ResolveTypeId(class System.Type type) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Script.Serialization.SimpleTypeResolver.ResolveTypeId(System.Type)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ResolveTypeId (type As Type) As String" />
<MemberSignature Language="F#" Value="override this.ResolveTypeId : Type -> string" Usage="simpleTypeResolver.ResolveTypeId type" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::String ^ ResolveTypeId(Type ^ type);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web.Extensions</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" />
</Parameters>
<Docs>
<param name="type">The type to be resolved.</param>
<summary>Returns the assembly-qualified name of the specified <see cref="T:System.Type" />.</summary>
<returns>A string that contains the assembly-qualified name of the specified type.</returns>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="type" /> is <see langword="null" />.</exception>
<altmember cref="P:System.Type.AssemblyQualifiedName" />
</Docs>
</Member>
</Members>
</Type>