I am running a .NET 4.5 project in VS 2013. Why is the following code in error?
var w = Request.Properties["MS_HttpContext"] as System.Web.HttpContextWrapper;
string IP = w?.Request.UserHostAddress; //fail to compile
I found this code on this MSDN blog.
That is a new feature available in C# 6 and newer versions. It is called the null-conditional operator.
In order to use C# 6 you should download Visual Studio 2015 or a newer version, since the extension for Visual Studio 2013 isn't supported any more (see here).