Сделайте свойство обязательным, если атрибут используется в методе действия WebAPI. - PullRequest
0 голосов
/ 24 января 2019

У меня есть ActionFilterAttribute с именем PagingHeaderFilterAttribute.

Этот атрибут при добавлении в метод действия WebApi устанавливает заголовок Link для Response

actionExecutedContext.Response.Content.Headers.Add("Link", pagingInfo.ToString());

Здесь pagingInfo имеет тип PagingInformation

public class PagingInformation
    {
        public string first { get; set; }
        public string prev { get; set; }
        public string next { get; set; }
        public string last { get; set; }
    }

Чтобы сгенерировать URL последней страницы, я установил totalResults, которые будут возвращены из метода действия с помощью Request.Properties["totalResults"] = result.Count();

И на ActionFilterAttribute OnActionExecuted я получаю это по

int totalResults = (int)actionExecutedContext.Request.Properties["totalResults"];

Затем вычисляю ссылку последней страницы.

Этот метод работает нормально,Однако время от времени кто-то будет использовать атрибут, но не будет устанавливать Request.Properties["totalResults"], и тогда разбиение на страницы не будет работать для компонентов, которые используют конечную точку метода действия.

Насколько я знаю, сделать это невозможнопеременная или свойство, требуемое компилятором для добавления атрибута (если оно есть, было бы замечательно).

Как заставить Visual Studio выдавать предупреждение или визуальную индикацию, чтобы каждый знал, что это Request.Properties["totalResults"] требуется установить?

Любое существующее расширение может сделать это?Если нет, то как мне сделать такое расширение Visual Studio?Или это может быть сделано изначально визуальной студией?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...