我有一个 ASP.NET WebForms 应用程序,它使用 Microsoft ASP.NET 通用提供程序 (NuGet) 作为成员资格和角色。在完全信任下一切正常,但是当我编辑 web.config 以指定中等信任时,在加载访问成员资格的页面时出现此错误:
无法在部分受信任的安全策略下实例化类型“System.Web.Providers.DefaultMembershipProvider”(目标程序集上不存在 AllowPartiallyTrustedCallersAttribute)。
我在网上搜索过,但没有找到太多关于这是否是已知限制或是否有解决方法的信息。我正在开发开源应用程序 Gallery Server Pro,它分布在 MS Web Gallery 中,必须支持中等信任环境。
有什么见解吗?
[编辑] 根据请求,这里是 web.config 的东西(我没有使用配置文件或会话状态提供程序):
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add name="DefaultMembershipProvider" applicationName="Gallery Server Pro" connectionStringName="GalleryDb" passwordFormat="Clear" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="50" minRequiredPasswordLength="2" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
<roleManager enabled="true" cacheRolesInCookie="true" cookieProtection="Validation" defaultProvider="DefaultRoleProvider">
<providers>
<clear />
<add name="DefaultRoleProvider" applicationName="Gallery Server Pro" connectionStringName="GalleryDb" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>