Đây có thể không phải là cách chính xác để sử dụng bộ điều khiển, nhưng tôi đã nhận thấy vấn đề này và đã không tìm ra cách sửa lỗi.HttpContext trên trường hợp của bộ điều khiển là null trong ASP.net MVC
public JsonResult SomeControllerAction() {
//The current method has the HttpContext just fine
bool currentIsNotNull = (this.HttpContext == null); //which is false
//creating a new instance of another controller
SomeOtherController controller = new SomeOtherController();
bool isNull = (controller.HttpContext == null); // which is true
//The actual HttpContext is fine in both
bool notNull = (System.Web.HttpContext.Current == null); // which is false
}
Tôi đã nhận thấy rằng HttpContext trên bộ điều khiển không phải là "HttpContext" thực tế mà bạn sẽ tìm thấy trong System.Web.HttpContext.Current.
Có cách nào để tự điền HttpContextBase trên Bộ điều khiển không? Hoặc một cách tốt hơn để tạo ra một thể hiện của một Controller?
Brad, bạn có một nơi nào đó có thể giúp hiểu về thiết kế MVC và các phương pháp hay nhất? MVC đã được mát mẻ cho đến nay, nhưng hầu hết các ví dụ tôi đã tìm thấy không phải là rất phức tạp. Họ chỉ đi qua các trường hợp đơn giản như cập nhật một bản ghi duy nhất. – Hugoware
Brad, tôi có cùng một vấn đề, và điều này cũng đến từ một lớp trợ giúp, giống như bạn đã đề nghị. Tôi đã thử sửa chữa được cung cấp bởi Hugoware (dưới đây), và cố định nó. Đây có phải là cách thích hợp để thực hiện việc này không? –