HostSecurityManager.GenerateAppDomainEvidence(Type) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
请求应用程序域的特定证据类型。
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
返回值指示主机无法生成此特定类型的证据。