TL; DR: I'm new to this language and have no idea what I'm doing
here is my class so far:
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Web;
using System.Net;
using System.IO;
public class MyClass
{
private const string URL = "https://sub.domain.com/objects.json?api_key=123";
private const string data = @"{""object"":{""name"":""Title""}}";
public static void CreateObject()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = data.Length;
StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
requestWriter.Write(data);
requestWriter.Close();
try
{
// get the response
WebResponse webResponse = request.GetResponse();
Stream webStream = webResponse.GetResponseStream();
StreamReader responseReader = new StreamReader(webStream);
string response = responseReader.ReadToEnd();
responseReader.Close();
}
catch (WebException we)
{
string webExceptionMessage = we.Message;
}
catch (Exception ex)
{
// no need to do anything special here....
}
}
static void Main(string[] args)
{
MyClass.CreateObject();
}
}
when I do csc filename.cs, I get the following error:
The type or namespace name 'Http' does not exist in the namespace 'System.Net' (are you missing an assembly reference?)
To solve the problem :
Net framework 4.5
to finish loadingSystem.Net.Http
and click ok.Problem solved.
You'll need a using System.Net.Http
at the top.
Assuming that your using Visual Studio 10, you can download an install that includes System.Net.Http, for Visual Studio 10 here: download MVC4 for VS10
Once you've installed it, right click on the References folder in the VS Project and then select Add Reference. Then, select the Browse tab. Navigate to the assemblies install path for the MVC4 install (usually in Program Files(x86)/Microsoft ASP.NET/ASP.NET MVC4/assemblies) and select the assembly named 'System.Net.Http.dll'. Now you can add your 'using System.Net.Http' at the top of your code and begin creating HttpClient connections.
You need to have a Reference to the System.Web.Http
assembly which has the HTTPClient
class, your trying to use. Try adding the below line before your class declaration
using System.Web.Http;
If you still get the Error, try doing this in Visual Studio
System.Web.Http.dll
).HttpClient is new in .net 4.5. You should probably be using HttpWebRequest.
I had this issue after upgrading to .NET Framework 4.7.2. I found out that Nuget package for System.Net.Http is no longer recommended. Here are workarounds:
NuGet > Microsoft.AspNet.WebApi.Client package
In Visual Studio you can use nuget to load the package
Microsoft.AspNet.WebApi.WebHost
Making the "Copy Local" property True for the reference did it for me. Expand References, right-click on System.Net.Http and change the value of Copy Local property to True in the properties window. I'm using VS2019.
For me, it was getting the nuget package Microsoft.Net.Http .(https://blogs.msdn.microsoft.com/bclteam/p/httpclient/)
How I solved it.
In my case i had at the beginning .Net 4.0 and "Assemblies" -> "Extensions" option "System.Net.Http" with version 2.0.0.0. After my actions "Assemblies" -> "Framework" options "System.Net.Http" and "System.Net.Http" had the same 4.0.0.0 version.
Make sure it's referenced in your web.config:
With the Nuget Package Manager install Microsoft.AspNet.WebApi.Core.
After this:
using System.Web.Http;
or if you use VB
imports System.Web.Http
Visual Studio Package Manager Console > Install-Package Microsoft.AspNet.WebApi.Client
Source: Stackoverflow.com