tôi đề nghị rằng bạn không nên làm điều đó như thế này. Phương pháp hành động nên được thiết kế để dễ dàng kiểm tra đơn vị. Trong trường hợp này, bạn không nên truy cập dữ liệu trực tiếp từ yêu cầu, bởi vì nếu bạn làm như thế này, khi bạn muốn đơn vị kiểm tra mã này, bạn phải xây dựng một HttpRequestMessage
.
Bạn nên làm điều đó như thế này để cho MVC làm tất cả những mô hình liên kết cho bạn:
[HttpPost]
public void Confirmation(YOURDTO yourobj)//assume that you define YOURDTO elsewhere
{
//your logic to process input parameters.
}
Trong trường hợp bạn không muốn để truy cập yêu cầu. Bạn chỉ cần truy cập thuộc tính Request của controller (không phải thông qua các tham số). Như thế này:
[HttpPost]
public void Confirmation()
{
var content = Request.Content.ReadAsStringAsync().Result;
}
Trong MVC, thuộc tính Yêu cầu thực sự là trình bao bọc .NET HttpRequest và kế thừa từ lớp cơ sở. Khi bạn cần kiểm tra đơn vị, bạn cũng có thể thử đối tượng này.
Nguồn
2013-07-31 13:43:40
Bạn nhận được gì từ 'request.Content'? – Mansfield
Tôi thấy tất cả tiêu đề và độ dài nội dung, nhưng dữ liệu ở đâu? – user1615362