Tôi đang cố gắng tạo một lớp trình bao bọc để xử lý nội dung của HttpContext. Tôi đang tạo một cookie nhưng không thể thêm vào bộ sưu tập cookie HttpContext.Request hoặc Response.Thêm cookie vào bộ sưu tập Request.Cookies
Tôi đang sử dụng Moq. Ngoài ra tôi đang sử dụng MvcMockHelp từ liên kết sau: http://www.hanselman.com/blog/ASPNETMVCSessionAtMix08TDDAndMvcMockHelpers.aspx
Khi tôi cố gắng thêm vào bộ sưu tập Cookies trong đoạn mã sau của tôi:
HttpContextBase c1 = MvcMockHelpers.FakeHttpContext();
HttpCookie aCookie = new HttpCookie("userInfo");
aCookie.Values["userName"] = "Tom";
c1.Request.Cookies.Add(aCookie); <------ Error here
tôi nhận được lỗi sau trên dòng thứ 4 mã c1. Request.Cookies.Add (aCookie);
Object reference not set to an instance of an object.
Tôi cũng đã cố gắng instantiating đối tượng bối cảnh như sau nhưng vẫn không có may mắn
HttpContextBase c = MvcMockHelpers.FakeHttpContext
("~/script/directory/NAMES.ASP?city=irvine&state=ca&country=usa");
Tôi thấy rằng Cookies bộ sưu tập bên trong Yêu cầu là NULL. Làm thế nào để tôi khởi tạo nó?
Tôi cũng đã thử những điều sau nhưng không may mắn.
c1.Request.Cookies["userName"].Value = "Tom";
Vui lòng cho tôi biết tôi đang làm gì sai.
Hãy kiểm tra để xem nếu Cookies là null, nếu như vậy, nhanh chóng nó. – Landern
Tôi không thể khởi tạo Cookies .. Tôi có thể lấy mẫu để khởi tạo mã c1.Request.Cookies nếu có thể không? –
Bạn có thể khởi tạo bằng cách sử dụng hàm tạo này: 'FakeHttpContext (chuỗi url)' thay thế không? Chuyển url yêu cầu; có lẽ nó sẽ giúp khởi tạo đối tượng 'Request' của bạn. –