/
DnsPermissionAttribute.xml
181 lines (161 loc) · 12.8 KB
/
DnsPermissionAttribute.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
<Type Name="DnsPermissionAttribute" FullName="System.Net.DnsPermissionAttribute">
<TypeSignature Language="C#" Value="public sealed class DnsPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit DnsPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute" FrameworkAlternate="dotnet-plat-ext-2.1;dotnet-plat-ext-2.2;dotnet-plat-ext-3.0;dotnet-plat-ext-3.1;dotnet-plat-ext-5.0;net-6.0;net-7.0;net-8.0;net-9.0;netstandard-2.0;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<TypeSignature Language="DocId" Value="T:System.Net.DnsPermissionAttribute" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class DnsPermissionAttribute
Inherits CodeAccessSecurityAttribute" />
<TypeSignature Language="F#" Value="type DnsPermissionAttribute = class
 inherit CodeAccessSecurityAttribute" />
<TypeSignature Language="C++ CLI" Value="public ref class DnsPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit DnsPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Security.Permissions</AssemblyName>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.0.2.0</AssemblyVersion>
<AssemblyVersion>4.0.3.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="System.Security.Permissions" FromVersion="9.0.0.0" To="System" ToVersion="4.0.0.0" FrameworkAlternate="netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
</TypeForwardingChain>
<Base>
<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]</AttributeName>
<AttributeName Language="F#">[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="dotnet-plat-ext-5.0;net-6.0;net-7.0;net-8.0;net-9.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]</AttributeName>
<AttributeName Language="F#">[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1">
<AttributeName Language="C#">[System.Serializable]</AttributeName>
<AttributeName Language="F#">[<System.Serializable>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Specifies permission to request information from Domain Name Servers.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
[!INCLUDE[cas-deprecated](~/includes/cas-deprecated.md)]
The security information declared by <xref:System.Net.DnsPermissionAttribute> is stored in the metadata of the attribute target, which is the class to which the <xref:System.Net.DnsPermissionAttribute> is applied. The system then accesses this information at run time. The <xref:System.Security.Permissions.SecurityAction> that is passed to the constructor determines the allowable DNS targets.
These security attributes are used only for [Declarative Security](/previous-versions/dotnet/netframework-4.0/kaacwy28(v=vs.100)). For [Imperative Security](/previous-versions/dotnet/netframework-4.0/0xkh23z7(v=vs.100)), use the corresponding <xref:System.Net.DnsPermission> class.
Security access is either fully restricted or fully unrestricted. Set the <xref:System.Security.Permissions.PermissionState.Unrestricted> property to `true` to grant access, or `false` for no access. Set this property as a named parameter.
For more information about using attributes, see [Attributes](/dotnet/standard/attributes/).
## Examples
The following example uses <xref:System.Net.DnsPermissionAttribute> to apply declarative security to a custom class.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic DnsPermissionAttributeExample/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Net/DnsPermissionAttribute/Overview/source.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic DnsPermissionAttributeExample/VB/source.vb" id="Snippet1":::
]]></format>
</remarks>
<altmember cref="T:System.Security.Permissions.CodeAccessSecurityAttribute" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DnsPermissionAttribute (System.Security.Permissions.SecurityAction action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Net.DnsPermissionAttribute.#ctor(System.Security.Permissions.SecurityAction)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (action As SecurityAction)" />
<MemberSignature Language="F#" Value="new System.Net.DnsPermissionAttribute : System.Security.Permissions.SecurityAction -> System.Net.DnsPermissionAttribute" Usage="new System.Net.DnsPermissionAttribute action" />
<MemberSignature Language="C++ CLI" Value="public:
 DnsPermissionAttribute(System::Security::Permissions::SecurityAction action);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Security.Permissions</AssemblyName>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.0.2.0</AssemblyVersion>
<AssemblyVersion>4.0.3.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.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>
<Parameter Name="action" Type="System.Security.Permissions.SecurityAction" />
</Parameters>
<Docs>
<param name="action">One of the <see cref="T:System.Security.Permissions.SecurityAction" /> values.</param>
<summary>Initializes a new instance of the <see cref="T:System.Net.DnsPermissionAttribute" /> class with the specified <see cref="T:System.Security.Permissions.SecurityAction" /> value.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Security.Permissions.SecurityAction> value that is passed to this constructor specifies the allowable <xref:System.Net.DnsPermissionAttribute> targets.
## Examples
The following example uses <xref:System.Net.DnsPermissionAttribute> to apply declarative security to a custom class.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic DnsPermissionAttributeExample/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Net/DnsPermissionAttribute/Overview/source.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic DnsPermissionAttributeExample/VB/source.vb" id="Snippet1":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentException">The <paramref name="action" /> parameter is not a valid <see cref="T:System.Security.Permissions.SecurityAction" />.</exception>
<altmember cref="T:System.Security.Permissions.SecurityAction" />
</Docs>
</Member>
<Member MemberName="CreatePermission">
<MemberSignature Language="C#" Value="public override System.Security.IPermission CreatePermission ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission CreatePermission() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Net.DnsPermissionAttribute.CreatePermission" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function CreatePermission () As IPermission" />
<MemberSignature Language="F#" Value="override this.CreatePermission : unit -> System.Security.IPermission" Usage="dnsPermissionAttribute.CreatePermission " />
<MemberSignature Language="C++ CLI" Value="public:
 override System::Security::IPermission ^ CreatePermission();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Security.Permissions</AssemblyName>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.0.2.0</AssemblyVersion>
<AssemblyVersion>4.0.3.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.IPermission</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates and returns a new instance of the <see cref="T:System.Net.DnsPermission" /> class.</summary>
<returns>A <see cref="T:System.Net.DnsPermission" /> that corresponds to the security declaration.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The `CreatePermission` method is called by the security system, not by application code.
The security information described by <xref:System.Net.DnsPermissionAttribute> is stored in the metadata of the attribute target, which is the class to which <xref:System.Net.DnsPermissionAttribute> is applied. The system then accesses the information at run time and calls <xref:System.Net.DnsPermissionAttribute.CreatePermission%2A>. The system uses the returned <xref:System.Security.IPermission> to enforce the specified security requirements.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>