14

从 .NET 3.5 升级某些 ASP.NET 代码时,我收到以下编译警告作为错误:“System.Security.Permissions.SecurityAction.RequestMinimum”已过时。

该属性已应用于装配级别:

[assembly: System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.RequestMinimum, Execution=true)]

该代码还使用了 P&P Web Client Software Factory,特别是 ObjectBuilder.WCSFExtensions 库。此外,代码还提供了一些角色提供者实现。

请记住,此代码在其他项目中用作框架代码,因此很难确定可能存在哪些安全需求。


所以百万美元的问题是:

“System.Security.Permissions.SecurityAction”枚举需要使用什么值?

或者,是否有更好的方法来应用此安全属性?

4

2 回答 2

14

您是否阅读了完整的编译器警告或访问了它包含的链接?“裸”CLR 不再限制 .NET 4.0 下的 CAS 权限,除非您翻转“旧模式”开关,因此您的 RequestMinimum 使用没有替代品。程序集级别的 SecurityPermissionAttribute 应该被删除,而不是修改。

有关 4.0 CAS 更改的更完整说明,请参阅http://blogs.msdn.com/b/shawnfa/archive/2009/05/21/security-policy-in-the-v4-clr。 aspxhttp://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-or-what.aspx

于 2011-11-25T14:54:28.503 回答
-2

http://msdn.microsoft.com/en-us/library/ee471421.aspx

似乎问题在于整个程序集级别的声明性安全性已被标记为过时。也许您可以改为在方法级别应用它?

于 2011-11-25T13:38:38.623 回答