Атрибут PrincipalPermission в сервисном контракте
Есть ли техническая причина, по которой PrincipalPermission не может быть помещен в интерфейс контракта на обслуживание? Он работает только в классе, реализующем контракт, или непосредственно в методах класса.
Это не работает
[ServiceContract]
public interface IMyService
{
[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
[OperationContract]
void MyFunction(string str);
}
Но это работает, если я помещаю атрибут в соответствующий метод в классе, реализующем IMyService.