У меня есть класс, который наследуется от Exception. В .NET 4, я начал получать ошибку во время выполнения:Нарушение правил безопасности при переопределении элемента - SecurityRuleSet.Level2
Inheritance security rules violated while overriding member: MyBusinessException.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.
Я думаю, что проблема вызвана тем, что я переопределяя GetObjectData.
Я знаю один ответ для решения вопроса является установка SecurityRuleSet:
[assembly: SecurityRules(SecurityRuleSet.Level1)]
Это не является приемлемым ответом, я хотел бы знать, как решить эту проблему без необходимости расслабить безопасности по умолчанию правила в .NET 4.
Прохладный, это сработало! Я действительно пробовал это, но я применил атрибут на уровне класса, а не на уровне участника. –
Я пытаюсь сделать это на InitializeLifeTimeService, и он не хочет работать, получает ту же ошибку. – adriaanp
Как это сделать? можете ли вы показать какой-то код? – brainmurphy1