У меня есть 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?Или это может быть сделано изначально визуальной студией?