HostSecurityManager.GenerateAppDomainEvidence(Type) 方法

定义

请求应用程序域的特定证据类型。

public:
 virtual System::Security::Policy::EvidenceBase ^ GenerateAppDomainEvidence(Type ^ evidenceType);
public virtual System.Security.Policy.EvidenceBase GenerateAppDomainEvidence (Type evidenceType);
abstract member GenerateAppDomainEvidence : Type -> System.Security.Policy.EvidenceBase
override this.GenerateAppDomainEvidence : Type -> System.Security.Policy.EvidenceBase
Public Overridable Function GenerateAppDomainEvidence (evidenceType As Type) As EvidenceBase

参数

evidenceType
Type

证据类型。

返回

请求的应用程序域证据。

示例

以下示例演示如何替代 ProvideAppDomainEvidence 自定义主机安全管理器的 方法。 此示例是为 类提供的更大示例的 HostSecurityManager 一部分。

public override Evidence ProvideAppDomainEvidence(Evidence evidence)
{
    Console.WriteLine("Provide evidence for the " + AppDomain.CurrentDomain.FriendlyName + " AppDomain.");
    if (evidence == null)
        return null;

    evidence.AddHostEvidence(new CustomEvidenceType());
    return evidence;
}
Public Overrides Function ProvideAppDomainEvidence(ByVal evidence As Evidence) As Evidence
    Console.WriteLine("Provide evidence for the " + AppDomain.CurrentDomain.FriendlyName + " AppDomain.")
    If evidence Is Nothing Then
        Return Nothing
    End If
    evidence.AddHostEvidence(New CustomEvidenceType())
    Return evidence

End Function 'ProvideAppDomainEvidence

注解

派生类可以重写此方法。 基实现返回 null

当当前 AppDomain需要指定类型的证据时,公共语言运行时会调用此方法。 返回的值用作主机提供的证据,并存储在 属性的CurrentDomain集合中Evidence。 可以使用 Evidence.GetAssemblyEvidence 方法从集合中获取生成的证据。

若要获取此方法的回调,主机必须在 属性中Flags指定 HostAppDomainEvidence 标志。

这种生成证据的方法允许主机延迟 生成 AppDomain 证据,直到需要证据。 在.NET Framework版本 3.5 及更早版本中,有必要通过重写 ProvideAppDomainEvidence 方法在加载时提供AppDomain证据。 建议使用 GenerateAppDomainEvidence 来提供证据,而不是重写 ProvideAppDomainEvidence

GenerateAppDomainEvidence 当主机在方法的重写 GetHostSuppliedAppDomainEvidenceTypes 中指定的证据类型时,才会将方法调用回 。

null 返回值指示主机无法生成此特定类型的证据。

适用于