我正在尝试为特定的 .NET 信任级别为我的程序集设置完全信任(此程序集将在 SharePoint 的某些 Web 应用程序中运行)。我知道使用 CasPol.exe 可以做到这一点,但我想仅使用 API 而不是使用其他可执行文件来做到这一点。
更多细节:
- 在 IIS → 站点下,我有“MySite”。
- 在“MySite”→ ASP.NET → .NET Trust Levels → 选择的信任级别是“WSS_Minimal”(以及配置文件的路径)
如果我像这样编辑 xml 配置文件:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust">
IMembershipCondition class="UrlMembershipCondition" version="1"
Url="C:\PathToMyAssembly\MyAssembly.dll" />
</CodeGroup>
然后回收应用程序池,我可以看到当我的 dll 加载到使用“WSS_Minimal”信任级别的 Web 应用程序中时,我的程序集得到了完全信任。
如何仅使用 C# API 重复此方法?
有3个主要项目-
- 将我的程序集完全信任授予特定的预定义信任级别。
- 检查是否“我已经这样做了” - 意思是,它是否已经被授予。
- 删除它(例如,在卸载我的产品时)
似乎使用这个 API 是正确的地方,但是当我枚举策略时,我从来没有找到我正在寻找的 xml -
var levelEnumerator = SecurityManager.PolicyHierarchy();
while (levelEnumerator.MoveNext())
{
}