Я создаю пользовательский атрибут CodeAccessSecurityAttribute для обработки авторизации для моих служб WCF. Я построил класс A как таковой:
public class A : CodeAccessSecurityAttribute
{
public A() : base(SecurityAction.Demand)
{
// Constructor Code
}
public override IPermission CreatePermission()
{
// Permission Creation Code
}
}
И при компиляции выдает эту ошибку.
Error emitting 'A' attribute -- 'Serialized security custom attribute is
truncated or incorrectly formed.'
Немного поиграв с ним, я придумал следующий пример, который компилируется без ошибок:
public class B : CodeAccessSecurityAttribute
{
public B(SecurityAction Action) : base(Action)
{
// Constructor Code
}
public override IPermission CreatePermission()
{
// Permission Creation Code
}
}
Я знаю, это потому, что перечисление SecurityAction не имеет прямой ссылки на открытую часть класса A, но я не могу понять, как сделать это так, чтобы я мог сделать это методом класса A вместо класса B .