在构建ASP时可能导致错误的原因是什么?. NET web应用程序

本文关键字:是什么 NET 应用程序 web 错误 ASP 构建 | 更新日期: 2023-09-27 18:13:27

当我构建我的解决方案时,它显示以下错误:

包含。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 repo:https://github.com/Milstein/Ratamata

在构建ASP时可能导致错误的原因是什么?. NET web应用程序

HttpRequest.RequestContext直到。net版本4才被引入,可以在官方文档的"版本信息"部分看到。

我猜您使用的是。net 2.0或3.5,所以您无法访问该属性。您可以通过右键单击您的网站项目,从下拉菜单中选择属性,并在应用程序选项卡上检查目标框架选项来检查这一点。

我也遇到过类似的问题。在我的情况下,这是由于错误的组装已被引用(是的,一个愚蠢的错误…)。即*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。核心命令。

则引用*~'packages'Microsoft.AspNet.WebApi.Core.5.2.3'lib'net45'System.Web.Http.dll*