有没有人使用WSP生成器打包使用配置存储(HTTP的溶液://www.codeplex。 COM / SPConfigStore)和部署到web应用程序的bin目录?

当我尝试referecne配置存储在隐藏文件我的代码,我得到这个例外...

System.Security.SecurityException:即组件不允许部分可信呼叫者

我已经添加了部分受信任的调用方属性到我的项目

[assembly: AllowPartiallyTrustedCallers()]

和的SharePoint权限上我的方法的属性

[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)] 
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]

不过,这似乎并没有做任何事情,我也指定用正确的IPermission一个自定义的CAS策略

<IPermission class="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" ObjectModel="True" UnsafeSaveOnGet="True" Unrestricted="True" />

和仍然没有成功,想必其他人都这样做,我必须失去了一些东西。

我使用WSP生成器版本1.0.5。

有帮助吗?

解决方案

您已经添加了[装配:AllowPartiallyTrustedCallers()]到您的装配,使你的程序集将允许部分信任的调用方来调用它。 但ConfigStore本身不具备该属性。

是否有可能你的DLL添加到GAC? (简单的办法)。 或添加[组件:AllowPartiallyTrustedCallers()]的ConfigStore项目以及..

其他提示

你的组件添加到web.config SafeControls部分?

<SafeControl Assembly="Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.Server.Search.WebControls" TypeName="*" Safe="True" />

您也可能需要降低在web.config的信任级别:

<trust level="WSS_Minimal" originUrl="" />

请参阅用于 ASP.Net和SharePoint信任级别MSDN文档

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top