HostProtectionResource 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
Code Access Security is not supported or honored by the runtime.
指定若由方法或类调用,可能对宿主有害的功能的类别。
此枚举支持其成员值的按位组合。
public enum class HostProtectionResource
[System.Flags]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum HostProtectionResource
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum HostProtectionResource
[System.Flags]
public enum HostProtectionResource
[<System.Flags>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type HostProtectionResource =
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type HostProtectionResource =
[<System.Flags>]
type HostProtectionResource =
Public Enum HostProtectionResource
- 继承
- 属性
字段
All | 511 | 公开所有宿主资源。 |
ExternalProcessMgmt | 4 | 可以创建或销毁其他进程。 |
ExternalThreading | 16 | 创建或操作除本身以外的其他线程可能对宿主有害。 |
MayLeakOnAbort | 256 | 如果没有安全句柄的保护,或者没有其他方法来确保资源的释放,也许将在终止时导致资源泄漏。 |
None | 0 | 不公开宿主资源。 |
SecurityInfrastructure | 64 | 公开安全性基础结构。 |
SelfAffectingProcessMgmt | 8 | 可以退出当前进程,终止服务器。 |
SelfAffectingThreading | 32 | 以只影响用户代码的方式操作线程。 |
SharedState | 2 | 公开可能在线程间共享的状态。 |
Synchronization | 1 | 公开同步。 |
UI | 128 | 公开用户界面。 |
示例
下面的代码示例演示如何将 枚举与 特性结合使用HostProtectionResourceHostProtectionAttribute。 此示例是为 类提供的更大示例的 HostProtectionAttribute 一部分。
// Use the enumeration flags to indicate that this method exposes shared state and
// self-affecting process management.
// Either of the following attribute statements can be used to set the
// resource flags.
// Exit the sample when an exception is thrown.
[HostProtection(SharedState=true,SelfAffectingProcessMgmt=true)]
[HostProtection(Resources=HostProtectionResource::SharedState|
HostProtectionResource::SelfAffectingProcessMgmt)]
static void Exit( String^ Message, int Code )
{
Console::WriteLine( "\nFAILED: {0} {1}", Message, Code );
Environment::ExitCode = Code;
Environment::Exit( Code );
}
// Use the enumeration flags to indicate that this method exposes
// shared state and self-affecting process management.
// Either of the following attribute statements can be used to set the
// resource flags.
[HostProtectionAttribute(SharedState = true,
SelfAffectingProcessMgmt = true)]
[HostProtectionAttribute(Resources = HostProtectionResource.SharedState |
HostProtectionResource.SelfAffectingProcessMgmt)]
private static void Exit(string Message, int Code)
{
// Exit the sample when an exception is thrown.
Console.WriteLine("\nFAILED: " + Message + " " + Code.ToString());
Environment.ExitCode = Code;
Environment.Exit(Code);
}
' Use the enumeration flags to indicate that this method exposes
' shared state and self-affecting process management.
' Either of the following attribute statements can be used to set the
' resource flags.
<HostProtectionAttribute(SharedState := True, _
SelfAffectingProcessMgmt := True), _
HostProtectionAttribute( _
Resources := HostProtectionResource.SharedState Or _
HostProtectionResource.SelfAffectingProcessMgmt)> _
Private Shared Sub [Exit](ByVal Message As String, ByVal Code As Integer)
' Exit the sample when an exception is thrown.
Console.WriteLine((ControlChars.Lf & "FAILED: " & Message & " " & _
Code.ToString()))
Environment.ExitCode = Code
Environment.Exit(Code)
End Sub
注解
注意
代码访问安全性 (CAS) 已在所有版本的 .NET Framework 和 .NET 中弃用。 如果使用与 CAS 相关的 API,最新版本的 .NET 不会遵循 CAS 注释,并会生成错误。 开发人员应寻求用于完成安全任务的替代方法。
此枚举由 HostProtectionAttribute 特性使用。