Tôi đang cố gắng thực hiện POST
từ một số controller
sang một số khác controller
. Cả hai controller
là từ các dự án khác nhau. Một dự án đang phục vụ để mô phỏng lớp trình bày (mà tôi sẽ gọi cho dự án thử nghiệm ở đây).HttpClient chuyển nhiều thông số đơn giản
Từ dự án thử nghiệm Tôi đang cố gắng chuyển 2 tham số đơn giản string
cho bộ điều khiển khác mà tôi sẽ gọi quy trình.
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("id", param.Id.Value));
values.Add(new KeyValuePair<string, string>("type", param.Type.Value));
var content = new FormUrlEncodedContent(values);
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.AcceptLanguage.Add(new StringWithQualityHeaderValue("nl-NL"));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
string token = param.token.Value;
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = client.PostAsync("/api/Process/Product", content).Result;
if (response.IsSuccessStatusCode)
{
var result = response.Content.ReadAsStringAsync().Result;
return Request.CreateResponse(HttpStatusCode.OK, result);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "fail");
}
Và trong điều khiển quá trình, tôi đang cố gắng để đón nhận nó như thế này:
Nhưng nó không bao giờ đạt controller
này. Tôi luôn nhận được "mã trạng thái không tìm thấy".
Vậy làm cách nào tôi có thể chuyển 2 tham số đơn giản với HttpClient()
?
Tại sao bạn không sử dụng GetAsync? Có nghĩa là bạn thay đổi động từ từ bài đăng thành Nhận. – NMK
Vì tôi chỉ có thể chuyển 1 tham số bằng 'GET'. Mặc dù tôi đã thử giải pháp của bạn nhưng không hoạt động. Nó không đến trong quá trình 'controller' – Quoter