Otrzymałem następujące ostrzeżenie kompilacji jako błąd podczas uaktualniania niektórych kodu ASP.NET z .NET 3.5: "System.Security.Permissions.SecurityAction.RequestMinimum" jest przestarzałe.W jaki sposób naprawić błąd "System.Security.Permissions.SecurityAction.RequestMinimum" jest przestarzały?
atrybut ma pszczeli stosowany na poziomie assebly:
[assembly: System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.RequestMinimum, Execution=true)]
Również kod wykorzystuje P & P Web Client Software Factory, specificly biblioteki ObjectBuilder.WCSFExtensions. Również kod dostarcza pewnych implementacji dostawców roli.
Należy pamiętać, że ten kod jest używany jako kod Framework w innych projektach, więc trudno określić, jakie wymagania bezpieczeństwa mogą być.
Więc milion dolar pytanie brzmi:
Jakie wartości należy stosować do wyliczenia "System.Security.Permissions.SecurityAction"?
Czy istnieje inne podejście do stosowania tego atrybutu bezpieczeństwa?
Dzięki Nicole, artykuły, o których Pan wspomniał, zapewniają wyraźniejsze tło niż dokumentacja MSDN (która była wyczerpująca, ale nie dała wyraźnego/oczywistego oświadczenia mówiącego: usunąć atrybut). Nie byłem pewien, jakie będą konsekwencje w usunięciu tego atrybutu. W końcu zdecydowałem się opuścić ten kod w 3.5 na teraz. – Schalk
Interfejs RequestMinimum na poziomie zespołu po prostu instruuje hosta, aby nie ładował zespołu, jeśli nie uzyskał on określonego uprawnienia. ŻądanieMinimum dla uprawnienia do wykonywania jest prawie bezużyteczne, ponieważ host nie uruchomi żadnego kodu w zespole, chyba że ma uprawnienia do wykonywania. Jedyną różnicą w zachowaniu w czasie wykonywania, gdy uprawnienie nie zostało przyznane, są szczegóły wyjątku i jego wynik. Jednak niezależnie od tego, czy atrybut jest obecny, czy nie, zobaczysz wyjątek przed wykonaniem jakiegokolwiek kodu w zespole. –