Come si fa a fare riferimento allo HttpClient
utilizzando un file project.json
?
Voglio che entrambe le strutture funzionino: dnx451
e dnxcore50
.Come devo fare riferimento a HttpClient per dnx451 e dnxcore50?
Ecco il mio tentativo corrente nel file project.json
. (Ho rimosso le parti irrilevanti.)
{
"dependencies": {
"Microsoft.Net.Http": "2.2.29",
"Microsoft.Net.Http.Headers": "1.0.0-beta4",
"System.Net.Http": "4.0.0-beta-22816"
},
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.Net.Http": "4.0.0.0"
}
},
"dnxcore50": { }
}
}
Alla scoperta delle dipendenze Io ho elencato è stato un procedimento per tentativi ed errori.
Con questo file project.json
, contesto dnxcore50
risolve correttamente tutte le classi in questo esempio blocco di codice, ma non riesce a risolvere HttpRequestMessage
, HttpMethod
, e MediaTypeWithQualityHeaderValue
con la dnx451
contesto:
var request = new HttpRequestMessage(HttpMethod.Get, "...");
request.Headers.Accept.Clear();
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/..."));
var response = await client.SendAsync(request);
var model = await response.EnsureSuccessStatusCode().Content.ReadAsAsync<SomeModel>();
Vedere [questo] (http://stackoverflow.com/questions/27946798/httpclient-in-asp-net-5-0-not-found/27949353#27949353) –
@YuvalItzchakov Che ha funzionato tutto nel dnx451 contesto tranne per il metodo di estensione 'ReadAsAsync' su' HttpContent'. È un membro della classe 'HttpContentExtensions' nello spazio dei nomi' System.Net.Http'. Qualche idea di quale assembly quadro o dipendenza ho bisogno per questo? A proposito, questo è di grande aiuto! –
@YuvalItzchakov Con il tuo aiuto l'ho capito. Vedi la mia risposta. –