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 返回值指示主机无法生成此特定类型的证据。