Asp.net 升级到.NET Framework 4.5后,无法访问HTTP请求

Asp.net 升级到.NET Framework 4.5后,无法访问HTTP请求,asp.net,wcf,.net-4.5,asp.net-4.5,Asp.net,Wcf,.net 4.5,Asp.net 4.5,我有一个WCF服务,它以HTML表单的形式接受来自jqGrid的POST请求并返回JSON 在.NET4.0上运行时,一切正常。我可以通过request[“fieldName”]访问服务中的表单字段。一旦我升级到.NET 4.5,我所有的请求[“fieldName”]现在都是空的。.NET4.5、WCF和HttpContext.Current.Request是否存在某种已知问题 以下是一个例子: POST http://{REMOVED}/Grid.svc/Execute HTTP/1.1

我有一个WCF服务,它以HTML表单的形式接受来自jqGrid的POST请求并返回JSON

在.NET4.0上运行时,一切正常。我可以通过
request[“fieldName”]
访问服务中的表单字段。一旦我升级到.NET 4.5,我所有的
请求[“fieldName”]
现在都是空的。.NET4.5、WCF和HttpContext.Current.Request是否存在某种已知问题

以下是一个例子:

 POST http://{REMOVED}/Grid.svc/Execute HTTP/1.1
 Accept: application/json, text/javascript, */*; q=0.01
 X-Requested-With: XMLHttpRequest
 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
 Accept-Encoding: gzip, deflate

 _search=false&nd=1355782305975&rows=15&page=1&sidx=modified&sord=desc&search=&category=all
以下是服务:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class GridAccess
{
    [OperationContract]
    [WebInvoke(Method = "POST",
           BodyStyle = WebMessageBodyStyle.Bare,
           ResponseFormat = WebMessageFormat.Json,
           RequestFormat = WebMessageFormat.Json
    )]
    public GridResponse Execute()
    {
        var request = System.Web.HttpContext.Current.Request;

所有对
请求[“fieldName”]
的引用以前在.NET 4.0下工作,现在升级到.NET 4.5后,它们返回空值。

问题的根本原因看起来与post中描述的问题相同:。我可以看到你的代码重新开始工作,如果我遵循这篇文章中建议的工作方法。有关更多信息,请参阅博客文章

来解决这类问题。只需将System.Web DLL添加到程序集。 然后像这样引用它,例如:

System.Web.HttpRequest request = System.Web.HttpContext.Current.Request; 

谢谢请随时向我们通报具有相同根本原因的任何其他错误,并在修复它们后通知我们。我已经回滚到VS 2010并卸载了.NET 4.5。使用.NET4.0后,一切又恢复正常。现在,我放弃了升级到.NET4.5的想法