Muss eine Web-API konsumieren. Der Controller sieht so aus:Verbrauchen ASP.NET WebAPI
using System;
using System.Collections.Generic;
using System.Web.Http;
using ERPService.Api.Models;
using ERPService.Core.Services;
namespace ERPService.Api.Controllers
{
[RoutePrefix("api/local")]
public class LocalProductController : BaseApiController
{
[Route("product/{productId}/export")]
public ApiResponse<IList<ServiceResponse<object>>> ExportProduct(int productId)
{
return Response(this.ServiceFactory.ProductService.ExportProduct(productId));
}
}
}
Mit HttpClient, wie kann ich diese ExportProduct Funktion aufrufen? habe ich eine Konsolenanwendung diese zu konsumieren:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:49319/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync("api/local/product/{productId}/export").Result;
Das Ergebnis ist ein Fehler, wie folgend:
Fehlercode - MethodNotAllowed
Nachricht - Methode nicht
erlaubt
[so] ist * nicht * ein kostenloser Code-Schreibdienst. Von Ihnen wird erwartet, dass Sie ** den Code selbst schreiben **. Nach [mehr Forschung] (http://meta.stackoverflow.com/questions/261592), wenn Sie ein Problem haben, können Sie ** posten, was Sie versucht haben ** mit einer ** klaren Erklärung, was nicht funktioniert ** und Bereitstellung eines ** [MCVE] **. Ich schlage vor, eine gute Frage und die perfekte Frage zu lesen (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). Nimm auch die [Tour]. – Igor
Mit dem HttpClient laden Sie die mit der Methode verknüpfte Route. Was hast du probiert? – squillman
versuchen Sie es wie folgt: HttpClient client = new HttpClient(); client.BaseAddress = new Uri ("http: // localhost: 49319 /"); client.DefaultRequestHeaders.Accept.Add (neuer MediaTypeWithQualityHeaderValue ("application/json")); HttpResponseMessage Antwort = client.GetAsync ("api/local/Produkt/{productId}/Export"). Ergebnis; Es ist für mich klar, dass ich Get nicht verwenden kann, aber was soll ich verwenden? – BenjiK