* whoami wijst naar de titel.
Dat mis ik dus.
Ik vraag me af waarom Microsoft geen SecurityPermission gespecifieerd heeft bij deze method.
Ik heb m'n eigen exception class geschreven, en deze inherit van ApplicationException. Deze class is serializable (implementeert de ISerializable interface).
Daarnet heb ik eens FxCop laten lopen, en deze vertelde mij dat overriden methods dezelfde LinkDemand status moeten hebben als de virtual method die ze overriden. In het geval van GetObjectData moet de SerializationFormatter security permission attribute gezet worden.
Ik doe dit dus netjes:
Echter, als ik dit compileer, dan krijg ik de melding dat er wel eens een security hole zou kunnen zijn, omdat ik een SecurityPersmission specifieer, terwijl die niet terug te vinden is op Exception.GetObjectData.
Als ik in de source van rotor ga gaan kijken, zie ik idd dat die method geen securitypermission heeft. Echter, waarom mekkert FxCop dan en waarom heeft die Exception.GetObjectData geen securityPermission ?
Dat mis ik dus.
Ik vraag me af waarom Microsoft geen SecurityPermission gespecifieerd heeft bij deze method.
Ik heb m'n eigen exception class geschreven, en deze inherit van ApplicationException. Deze class is serializable (implementeert de ISerializable interface).
Daarnet heb ik eens FxCop laten lopen, en deze vertelde mij dat overriden methods dezelfde LinkDemand status moeten hebben als de virtual method die ze overriden. In het geval van GetObjectData moet de SerializationFormatter security permission attribute gezet worden.
Ik doe dit dus netjes:
code:
1
2
| [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData( SerializationInfo info, StreamingContext context ) |
Echter, als ik dit compileer, dan krijg ik de melding dat er wel eens een security hole zou kunnen zijn, omdat ik een SecurityPersmission specifieer, terwijl die niet terug te vinden is op Exception.GetObjectData.
Als ik in de source van rotor ga gaan kijken, zie ik idd dat die method geen securitypermission heeft. Echter, waarom mekkert FxCop dan en waarom heeft die Exception.GetObjectData geen securityPermission ?
https://fgheysels.github.io/