Share via


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需要指定型別的辨識項時,Common Language Runtime 會呼叫這個方法。 傳回的值會當做主機提供的辨識項使用,並儲存在 Evidence 屬性的集合中 CurrentDomain 。 您可以使用 Evidence.GetAssemblyEvidence 方法,從集合中取得產生的辨識項。

若要取得這個方法的Flags回呼,主機必須在 屬性中指定 HostAppDomainEvidence 旗標。

這個產生辨識項的方法可讓主機延遲產生 辨識項, AppDomain 直到需要辨識項為止。 在 .NET Framework 3.5 版和更早版本中,必須覆ProvideAppDomainEvidence寫 方法,在載入時提供AppDomain辨識項。 我們建議您使用 GenerateAppDomainEvidence 來提供辨識項,而不是覆寫 ProvideAppDomainEvidence

方法 GenerateAppDomainEvidence 只會針對主機在 方法覆 GetHostSuppliedAppDomainEvidenceTypes 寫中指定的辨識項類型呼叫回 。

null 傳回值表示主機無法產生這個特定類型的辨識項。

適用於