在构建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
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*
则引用*~'packages'Microsoft.AspNet.WebApi.Core.5.2.3'lib'net45'System.Web.Http.dll*