Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.Net httpcontext.current.request可在运行iis7的虚拟windows server 2012上运行,但不能在windows server 2016 iis10上运行_C#_Asp.net_Iis - Fatal编程技术网

C# Asp.Net httpcontext.current.request可在运行iis7的虚拟windows server 2012上运行,但不能在windows server 2016 iis10上运行

C# Asp.Net httpcontext.current.request可在运行iis7的虚拟windows server 2012上运行,但不能在windows server 2016 iis10上运行,c#,asp.net,iis,C#,Asp.net,Iis,我在HttpContext.Current.Request中遇到了一个非常奇怪的问题(对我来说很奇怪)。我最近在服务器2016 iis 10上使用Razor语法页面部署了一个Asp.Net站点。我遇到的HttpContext.Current.Request.问题是它返回空值。仅在iis 10上。我在另一台运行iis 7的服务器上进行了测试,完全没有问题。数据按预期从一页发布到另一页。我不认为这是一个语法问题,因为自从搬家以来我没有重写过任何东西 我发现了问题所在。按钮的图像类型未将值传递到第二页

我在
HttpContext.Current.Request中遇到了一个非常奇怪的问题(对我来说很奇怪)。
我最近在服务器2016 iis 10上使用Razor语法页面部署了一个Asp.Net站点。我遇到的HttpContext.Current.Request.问题是它返回空值。仅在iis 10上。我在另一台运行iis 7的服务器上进行了测试,完全没有问题。数据按预期从一页发布到另一页。我不认为这是一个语法问题,因为自从搬家以来我没有重写过任何东西

我发现了问题所在。按钮的图像类型未将值传递到第二页。我将类型更改为提交,数据按预期发布

在大多数情况下,您不应该调用
HttpContext.Current.Request
,因为
Page.Request
ControllerBase.Request
是所需的。我将试一试。非常感谢。尽管改变这一点并不有利,因为这句话在整个代码中几乎无处不在。为什么它在server 2012而不是2016上运行?底层的.NET Framework在Windows server版本上发生了变化,这可能会放大使用
HttpContext.Current
的副作用。这个属性应该只在少数情况下使用,而在大多数情况下,你应该使用我指出的那些。我尝试了你给出的两种解决方案,但都给出了一个关于字符串的错误。语法是
if(HttpContext.Current.Request[“Process”]==“Submit”)
返回false,而
if(HttpContext.Current.Request[“Process”].ToString()==“Submit”)
返回null。那么,我怎么能不知道这就是“您给出的解决方案”?请编辑您的问题以包含更多代码,而不仅仅是行,因为这几乎不包含任何其他信息。请记住,我没有魔法可以看到你的屏幕,所以我没有给你任何解决方案,只是提示你应该做什么。