2017-01-27 9 views
0

Потянув эту кодовую:'FromHeaderAttribute' не является классом атрибута

https://github.com/RedRiverSoftware/FromHeaderAttribute

после прочтения этого:

https://river.red/binding-to-and-validating-http-headers-with-web-api-2/

Я пытаюсь изменить это:

public IHttpActionResult EchoHeaders([RedRiver.FromHead.FromHeader]StandardHeaders headers) 

следующим образом:

public IHttpActionResult EchoHeaders([FromHeader]StandardHeaders headers) 

Очевидно, что мне нужно, чтобы добавить это в верхней части класса контроллера:

using FromHeaderAttribute.Sample.Models; 

Но я получаю эту ошибку:

'FromHeaderAttribute' is not an attribute class. 

Однако, глядя на код (который я не изменил) класс 'FromHeaderAttribute' явно наследует 'ParameterBindingAttribute', который наследует 'System.Attribute'.

Что мне не хватает, чтобы иметь возможность определять атрибуты, которые могут использоваться в качестве атрибутов параметров, без указания их полного пространства имен - точно так же, как атрибуты, такие как «FromUri» и «FromBody»?

ответ

0

Оказывается, что присвоение класса «FromHeader» и попытка использования его в качестве атрибута параметра не распознаются. Я пробовал это с помощью нескольких комбинаций имен файлов, классов и имен, и он просто не работает. Имя класса атрибута должно быть чем угодно, кроме FromHeader.