Skip to content

Commit ad67a4c

Browse files
committed
more human edits
1 parent 987c709 commit ad67a4c

File tree

86 files changed

+3388
-3393
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+3388
-3393
lines changed

docs/framework/configure-apps/file-schema/runtime/alwaysflowimpersonationpolicy-element.md

Lines changed: 92 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -2,111 +2,111 @@
22
description: "Learn more about: <alwaysFlowImpersonationPolicy> Element"
33
title: "<alwaysFlowImpersonationPolicy> Element"
44
ms.date: "03/30/2017"
5-
f1_keywords:
5+
f1_keywords:
66
- "http://schemas.microsoft.com/.NetConfiguration/v2.0#configuration/runtime/alwaysFlowImpersonationPolicy"
77
- "http://schemas.microsoft.com/.NetConfiguration/v2.0#alwaysFlowImpersonationPolicy"
8-
helpviewer_keywords:
8+
helpviewer_keywords:
99
- "alwaysFlowImpersonationPolicy element"
1010
- "<alwaysFlowImpersonationPolicy> element"
1111
ms.assetid: ee622801-9e46-470b-85ab-88c4b1dd2ee1
1212
---
1313
# \<alwaysFlowImpersonationPolicy> Element
1414

15-
Specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed.
16-
15+
Specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed.
16+
1717
[**\<configuration>**](../configuration-element.md)\
1818
&nbsp;&nbsp;[**\<runtime>**](runtime-element.md)\
1919
&nbsp;&nbsp;&nbsp;&nbsp;**\<alwaysFlowImpersonationPolicy>**
20-
21-
## Syntax
22-
23-
```xml
20+
21+
## Syntax
22+
23+
```xml
2424
<alwaysFlowImpersonationPolicy
25-
enabled="true|false"/>
26-
```
27-
28-
## Attributes and Elements
29-
30-
The following sections describe attributes, child elements, and parent elements.
31-
32-
### Attributes
33-
34-
|Attribute|Description|
35-
|---------------|-----------------|
36-
|`enabled`|Required attribute.<br /><br /> Indicates whether the Windows identity flows across asynchronous points.|
37-
38-
## enabled Attribute
39-
40-
|Value|Description|
41-
|-----------|-----------------|
42-
|`false`|The Windows identity does not flow across asynchronous points, unless the impersonation is performed through managed methods such as <xref:System.Security.Principal.WindowsIdentity.Impersonate%2A>. This is the default.|
43-
|`true`|The Windows identity always flows across asynchronous points, regardless of how impersonation was performed.|
44-
45-
### Child Elements
46-
47-
None.
48-
49-
### Parent Elements
50-
51-
|Element|Description|
52-
|-------------|-----------------|
53-
|`configuration`|The root element in every configuration file used by the common language runtime and .NET Framework applications.|
54-
|`runtime`|Contains information about assembly binding and garbage collection.|
55-
56-
## Remarks
57-
58-
In the .NET Framework versions 1.0 and 1.1, the Windows identity does not flow across asynchronous points. In .NET Framework version 2.0, there is an <xref:System.Threading.ExecutionContext> object that contains information about the currently executing thread, and flows it across asynchronous points within an application domain. The <xref:System.Security.Principal.WindowsIdentity> also flows as part of the information that flows across the asynchronous points, provided the impersonation was achieved using managed methods such as <xref:System.Security.Principal.WindowsIdentity.Impersonate%2A> and not through other means such as platform invoke to native methods. This element is used to specify that the Windows identity does flow across asynchronous points, regardless of how the impersonation was achieved.
59-
60-
You can alter this default behavior in two other ways:
61-
62-
1. In managed code on a per-thread basis.
63-
64-
You can suppress the flow on a per-thread basis by modifying the <xref:System.Threading.ExecutionContext> and <xref:System.Security.SecurityContext> settings by using the <xref:System.Threading.ExecutionContext.SuppressFlow%2A?displayProperty=nameWithType>, <xref:System.Security.SecurityContext.SuppressFlowWindowsIdentity%2A?displayProperty=nameWithType>, or <xref:System.Security.SecurityContext.SuppressFlow%2A?displayProperty=nameWithType> method.
65-
66-
2. In the call to the unmanaged hosting interface to load the common language runtime (CLR).
67-
68-
If an unmanaged hosting interface (instead of a simple managed executable) is used to load the CLR, you can specify a special flag in the call to the [CorBindToRuntimeEx Function](../../../unmanaged-api/hosting/corbindtoruntimeex-function.md) function. To enable the compatibility mode for the entire process, set the `flags` parameter for [CorBindToRuntimeEx Function](../../../unmanaged-api/hosting/corbindtoruntimeex-function.md) to `STARTUP_ALWAYSFLOW_IMPERSONATION`.
69-
70-
## Configuration File
71-
72-
In a .NET Framework application, this element can be used only in the application configuration file.
73-
74-
For an ASP.NET application, the impersonation flow can be configured in the aspnet.config file found in the \<Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx directory.
75-
76-
ASP.NET by default disables the impersonation flow in the aspnet.config file by using the following configuration settings:
77-
25+
enabled="true|false"/>
26+
```
27+
28+
## Attributes and Elements
29+
30+
The following sections describe attributes, child elements, and parent elements.
31+
32+
### Attributes
33+
34+
|Attribute|Description|
35+
|---------------|-----------------|
36+
|`enabled`|Required attribute.<br /><br /> Indicates whether the Windows identity flows across asynchronous points.|
37+
38+
## enabled Attribute
39+
40+
|Value|Description|
41+
|-----------|-----------------|
42+
|`false`|The Windows identity does not flow across asynchronous points, unless the impersonation is performed through managed methods such as <xref:System.Security.Principal.WindowsIdentity.Impersonate%2A>. This is the default.|
43+
|`true`|The Windows identity always flows across asynchronous points, regardless of how impersonation was performed.|
44+
45+
### Child Elements
46+
47+
None.
48+
49+
### Parent Elements
50+
51+
|Element|Description|
52+
|-------------|-----------------|
53+
|`configuration`|The root element in every configuration file used by the common language runtime and .NET Framework applications.|
54+
|`runtime`|Contains information about assembly binding and garbage collection.|
55+
56+
## Remarks
57+
58+
In the .NET Framework versions 1.0 and 1.1, the Windows identity does not flow across asynchronous points. In .NET Framework version 2.0, there is an <xref:System.Threading.ExecutionContext> object that contains information about the currently executing thread, and flows it across asynchronous points within an application domain. The <xref:System.Security.Principal.WindowsIdentity> also flows as part of the information that flows across the asynchronous points, provided the impersonation was achieved using managed methods such as <xref:System.Security.Principal.WindowsIdentity.Impersonate%2A> and not through other means such as platform invoke to native methods. This element is used to specify that the Windows identity does flow across asynchronous points, regardless of how the impersonation was achieved.
59+
60+
You can alter this default behavior in two other ways:
61+
62+
1. In managed code on a per-thread basis.
63+
64+
You can suppress the flow on a per-thread basis by modifying the <xref:System.Threading.ExecutionContext> and <xref:System.Security.SecurityContext> settings by using the <xref:System.Threading.ExecutionContext.SuppressFlow%2A?displayProperty=nameWithType>, <xref:System.Security.SecurityContext.SuppressFlowWindowsIdentity%2A?displayProperty=nameWithType>, or <xref:System.Security.SecurityContext.SuppressFlow%2A?displayProperty=nameWithType> method.
65+
66+
2. In the call to the unmanaged hosting interface to load the common language runtime (CLR).
67+
68+
If an unmanaged hosting interface (instead of a simple managed executable) is used to load the CLR, you can specify a special flag in the call to the [CorBindToRuntimeEx Function](../../../../core/unmanaged-api/hosting/corbindtoruntimeex-function.md) function. To enable the compatibility mode for the entire process, set the `flags` parameter for [CorBindToRuntimeEx Function](../../../../core/unmanaged-api/hosting/corbindtoruntimeex-function.md) to `STARTUP_ALWAYSFLOW_IMPERSONATION`.
69+
70+
## Configuration File
71+
72+
In a .NET Framework application, this element can be used only in the application configuration file.
73+
74+
For an ASP.NET application, the impersonation flow can be configured in the aspnet.config file found in the \<Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx directory.
75+
76+
ASP.NET by default disables the impersonation flow in the aspnet.config file by using the following configuration settings:
77+
7878
```xml
79-
<configuration>
80-
<runtime>
81-
<legacyImpersonationPolicy enabled="true"/>
82-
<alwaysFlowImpersonationPolicy enabled="false"/>
83-
</runtime>
84-
</configuration>
85-
```
86-
87-
In ASP.NET, if you want to allow the flow of impersonation instead, you must explicitly use the following configuration settings:
88-
89-
```xml
90-
<configuration>
91-
<runtime>
92-
<legacyImpersonationPolicy enabled="false"/>
93-
<alwaysFlowImpersonationPolicy enabled="true"/>
94-
</runtime>
95-
</configuration>
96-
```
97-
98-
## Example
99-
100-
The following example shows how to specify that the Windows identity flows across asynchronous points, even when the impersonation is achieved through means other than managed methods.
101-
102-
```xml
103-
<configuration>
104-
<runtime>
105-
<alwaysFlowImpersonationPolicy enabled="true"/>
106-
</runtime>
107-
</configuration>
108-
```
109-
79+
<configuration>
80+
<runtime>
81+
<legacyImpersonationPolicy enabled="true"/>
82+
<alwaysFlowImpersonationPolicy enabled="false"/>
83+
</runtime>
84+
</configuration>
85+
```
86+
87+
In ASP.NET, if you want to allow the flow of impersonation instead, you must explicitly use the following configuration settings:
88+
89+
```xml
90+
<configuration>
91+
<runtime>
92+
<legacyImpersonationPolicy enabled="false"/>
93+
<alwaysFlowImpersonationPolicy enabled="true"/>
94+
</runtime>
95+
</configuration>
96+
```
97+
98+
## Example
99+
100+
The following example shows how to specify that the Windows identity flows across asynchronous points, even when the impersonation is achieved through means other than managed methods.
101+
102+
```xml
103+
<configuration>
104+
<runtime>
105+
<alwaysFlowImpersonationPolicy enabled="true"/>
106+
</runtime>
107+
</configuration>
108+
```
109+
110110
## See also
111111

112112
- [Configure apps by using configuration files](../../index.md)

docs/framework/configure-apps/file-schema/runtime/appdomainmanagerassembly-element.md

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,75 +2,75 @@
22
description: "Learn more about: <appDomainManagerAssembly> Element"
33
title: "<appDomainManagerAssembly> Element"
44
ms.date: "03/30/2017"
5-
helpviewer_keywords:
5+
helpviewer_keywords:
66
- "<appDomainManagerAssembly> element"
77
- "appDomainManagerAssembly element"
88
ms.assetid: c7c56e39-a700-44f5-b94e-411bfce339d9
99
---
1010
# \<appDomainManagerAssembly> Element
1111

12-
Specifies the assembly that provides the application domain manager for the default application domain in the process.
13-
12+
Specifies the assembly that provides the application domain manager for the default application domain in the process.
13+
1414
[**\<configuration>**](../configuration-element.md)\
1515
&nbsp;&nbsp;[**\<runtime>**](runtime-element.md)\
16-
&nbsp;&nbsp;&nbsp;&nbsp;**\<appDomainManagerAssembly>**
17-
18-
## Syntax
19-
20-
```xml
16+
&nbsp;&nbsp;&nbsp;&nbsp;**\<appDomainManagerAssembly>**
17+
18+
## Syntax
19+
20+
```xml
2121
<appDomainManagerAssembly
22-
value="assembly display name" />
23-
```
24-
25-
## Attributes and Elements
26-
27-
The following sections describe attributes, child elements, and parent elements.
28-
29-
### Attributes
30-
31-
|Attribute|Description|
32-
|---------------|-----------------|
33-
|`value`|Required attribute. Specifies the display name of the assembly that provides the application domain manager for the default application domain in the process.|
34-
35-
### Child Elements
36-
37-
None.
38-
39-
### Parent Elements
40-
41-
|Element|Description|
42-
|-------------|-----------------|
43-
|`configuration`|The root element in every configuration file used by the common language runtime and .NET Framework applications.|
44-
|`runtime`|Contains information about assembly binding and garbage collection.|
45-
46-
## Remarks
47-
48-
To specify the type of the application domain manager, you must specify both this element and the [\<appDomainManagerType>](appdomainmanagertype-element.md) element. If either of these elements is not specified, the other is ignored.
49-
50-
When the default application domain is loaded, <xref:System.TypeLoadException> is thrown if the specified assembly does not exist or if the assembly does not contain the type specified by the [\<appDomainManagerType>](appdomainmanagertype-element.md) element; and the process fails to start. If the assembly is found but the version information does not match, a <xref:System.IO.FileLoadException> is thrown.
51-
52-
When you specify the application domain manager type for the default application domain, other application domains created from the default application domain inherit the application domain manager type. Use the <xref:System.AppDomainSetup.AppDomainManagerType%2A?displayProperty=nameWithType> and <xref:System.AppDomainSetup.AppDomainManagerAssembly%2A?displayProperty=nameWithType> properties to specify a different application domain manager type for a new application domain.
53-
54-
Specifying the application domain manager type requires the application to have full trust. (For example, an application running on the desktop has full trust.) If the application does not have full trust, a <xref:System.TypeLoadException> is thrown.
55-
56-
For the format of the assembly display name, see the <xref:System.Reflection.Assembly.FullName%2A?displayProperty=nameWithType> property.
57-
58-
This configuration element is available only in the .NET Framework 4 and later.
59-
60-
## Example
61-
62-
The following example shows how to specify that the application domain manager for the default application domain of a process is the `MyMgr` type in the `AdMgrExample` assembly.
63-
64-
```xml
65-
<configuration>
66-
<runtime>
67-
<appDomainManagerType value="MyMgr" />
22+
value="assembly display name" />
23+
```
24+
25+
## Attributes and Elements
26+
27+
The following sections describe attributes, child elements, and parent elements.
28+
29+
### Attributes
30+
31+
|Attribute|Description|
32+
|---------------|-----------------|
33+
|`value`|Required attribute. Specifies the display name of the assembly that provides the application domain manager for the default application domain in the process.|
34+
35+
### Child Elements
36+
37+
None.
38+
39+
### Parent Elements
40+
41+
|Element|Description|
42+
|-------------|-----------------|
43+
|`configuration`|The root element in every configuration file used by the common language runtime and .NET Framework applications.|
44+
|`runtime`|Contains information about assembly binding and garbage collection.|
45+
46+
## Remarks
47+
48+
To specify the type of the application domain manager, you must specify both this element and the [\<appDomainManagerType>](appdomainmanagertype-element.md) element. If either of these elements is not specified, the other is ignored.
49+
50+
When the default application domain is loaded, <xref:System.TypeLoadException> is thrown if the specified assembly does not exist or if the assembly does not contain the type specified by the [\<appDomainManagerType>](appdomainmanagertype-element.md) element; and the process fails to start. If the assembly is found but the version information does not match, a <xref:System.IO.FileLoadException> is thrown.
51+
52+
When you specify the application domain manager type for the default application domain, other application domains created from the default application domain inherit the application domain manager type. Use the <xref:System.AppDomainSetup.AppDomainManagerType%2A?displayProperty=nameWithType> and <xref:System.AppDomainSetup.AppDomainManagerAssembly%2A?displayProperty=nameWithType> properties to specify a different application domain manager type for a new application domain.
53+
54+
Specifying the application domain manager type requires the application to have full trust. (For example, an application running on the desktop has full trust.) If the application does not have full trust, a <xref:System.TypeLoadException> is thrown.
55+
56+
For the format of the assembly display name, see the <xref:System.Reflection.Assembly.FullName%2A?displayProperty=nameWithType> property.
57+
58+
This configuration element is available only in the .NET Framework 4 and later.
59+
60+
## Example
61+
62+
The following example shows how to specify that the application domain manager for the default application domain of a process is the `MyMgr` type in the `AdMgrExample` assembly.
63+
64+
```xml
65+
<configuration>
66+
<runtime>
67+
<appDomainManagerType value="MyMgr" />
6868
<appDomainManagerAssembly
69-
value="AdMgrExample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6856bccf150f00b3" />
70-
</runtime>
71-
</configuration>
72-
```
73-
69+
value="AdMgrExample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6856bccf150f00b3" />
70+
</runtime>
71+
</configuration>
72+
```
73+
7474
## See also
7575

7676
- [Configure apps by using configuration files](../../index.md)
@@ -79,4 +79,4 @@ Specifies the assembly that provides the application domain manager for the defa
7979
- [\<appDomainManagerType> Element](appdomainmanagertype-element.md)
8080
- [Runtime Settings Schema](index.md)
8181
- [Configuration File Schema](../index.md)
82-
- [SetAppDomainManagerType Method](../../../unmanaged-api/hosting/iclrcontrol-setappdomainmanagertype-method.md)
82+
- [SetAppDomainManagerType Method](../../../../core/unmanaged-api/hosting/iclrcontrol-setappdomainmanagertype-method.md)

0 commit comments

Comments
 (0)