Что может быть причиной ошибки при создании веб-приложения ASP.NET?

1

Пока я строю свое решение, он показывает следующую ошибку:

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

Какая dll или ссылка мне не хватает!

Код:

 public void ProcessRequest(HttpContext context)
    {
        try
        {
            HttpRequest request = context.Request;
            string methodName = "";
            if (request.RequestContext.RouteData.Values["methodName"] != null)
            {
                methodName = request.RequestContext.RouteData.Values["methodName"].ToString();
            }
            else
            {
                methodName = request.RawUrl.Substring(request.RawUrl.LastIndexOf("/") + 1);
            }

            //if form post was made way to get values
            //context.Request.Form["firstName"]; //parameter key
            string json = new System.IO.StreamReader(context.Request.InputStream).ReadToEnd();
            JavaScriptSerializer jss = new JavaScriptSerializer();
            ServiceProcesser process = new ServiceProcesser(typeof(AspxCommerce.AdminNotification.AdminNotificationController), json, methodName);
            var response = process.Invoke();

            if (response != null)
            {
                context.Response.ContentType = "application/json";
                context.Response.Write(jss.Serialize(new { d = response }));
            }
            else
            {
                context.Response.ContentType = "application/json";
                context.Response.Write(jss.Serialize(new { d = "" }));
            }
        }
        catch (Exception ex)
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            context.Response.ContentType = "application/json";
            var resp = new { d = ex.Message.ToString() };
            context.Response.Write(jss.Serialize(resp));
        }
    }

Для получения полного источника вы можете изучить мой репортаж github: https://github.com/Milstein/Ratamata

  • 3
    Опубликовать код, который выдает эту ошибку
  • 2
    Пожалуйста, покажите ваш код, который объявляет ваш объект RequestContext.
Теги:
visual-studio-2010

2 ответа

3

HttpRequest.RequestContext не был представлен до версии.NET версии 4, как можно увидеть в разделе "Информация о версии" официальной документации.

Я предполагаю, что вы используете.NET 2.0 или 3.5, поэтому у вас нет доступа к этому свойству. Вы можете проверить это, щелкнув правой кнопкой мыши на своем проекте веб-сайта, выбрав " Свойства" в раскрывающемся списке и проверив параметр " Целевая структура" на вкладке " Приложение ".

  • 1
    Он уже собран с платформой .NET 4, пожалуйста, посмотрите мое репозиторий на github: github.com/Milstein/Ratamata
  • 3
    Мало кто собирается раскошелиться на репо, чтобы помочь вам решить вашу проблему. Верьте или нет, некоторые люди даже не используют git.
0

У меня была аналогичная проблема. В моем случае это было связано с неправильным собранием, которое было передано (да, глупая ошибка..). Который был *C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Http.dll*.

Затем я установил пакет Microsoft.AspNet.WebApi.Core, используя команду Install-Package Microsoft.AspNet.WebApi.Core.

Затем он будет ссылаться на *~\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll*.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню