Получение исключения компиляции внутри ActionFilter при доступе к объекту запроса - PullRequest
1 голос
/ 20 августа 2010

У меня есть немного кода:

using System;
using System.Web.Mvc;

public class SecureFilter : RequireHttpsAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (null == filterContext)
        {
            throw new ArgumentNullException("filterContext");
        }

        if (null != filterContext.HttpContext && filterContext.HttpContext.Request.IsLocal)
        {
            return;
        }

        base.OnAuthorization(filterContext);
    }
}

Когда я пытаюсь определить, является ли запрос локальным или нет, я получаю исключение во время компиляции. Это дает мне эту ошибку:

'System.Web.HttpContextBase' не содержит определения для 'Request', и не найден метод расширения 'Request', принимающий первый аргумент типа 'System.Web.HttpContextBase' (вы пропустили директиву using или ссылка на сборку?)

Из того, что я понимаю, объект Request на самом деле принадлежит контроллеру, но я не совсем уверен, как я должен создать этот фильтр действий, если я не могу получить доступ к объекту.

Любое руководство здесь будет с благодарностью!

Ответы [ 2 ]

1 голос
/ 11 июня 2011

@ Джош, я бы хотел сказать, что это просто из-за ссылки на сборку System.Web.Abstractions. Может быть, вы случайно удалили ссылку.

0 голосов
/ 20 августа 2010

Это было что-то странное с проектом, кажется.Я последовал совету Ника Риггса и попробовал тестовое решение, и оно отлично работалоПоэтому я удалил проект из моего текущего решения, создал новый и просто скопировал в него файлы.Это заставило его работать.

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