Tôi có một số dịch vụ WCF được lưu trữ bởi IIS với khả năng tương thích ASP.Net được bật.Tại sao HttpContext.Current null trong lần yêu cầu đầu tiên tới dịch vụ WCF hỗ trợ ASP.Net?
Tôi có sau trong web.config của tôi:
< serviceHostingEnvironment aspNetCompatibilityEnabled = "true" />
Và dịch vụ của tôi lớp được trang trí với những điều sau đây:
[AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
Vì một số lý do lạ, HttpContext.Current là null cho yêu cầu đầu tiên sau khi ứng dụng web khởi động. HttpContext.Current không phải là null cho các yêu cầu sau như mong đợi.
Có ai có ý tưởng tại sao nó không hoạt động cho yêu cầu đầu tiên không?
Cuộc gọi đến HttpContext.Current là từ bên trong lớp UserNamePasswordValidator tùy chỉnh mà tôi đã viết để kiểm tra số tiền được lưu trữ trong cơ sở dữ liệu.
Bạn có nghĩa là sau khi dịch vụ chạy, yêu cầu đầu tiên cho dịch vụ không xt khi bạn nhận được bối cảnh trong (các) yêu cầu tiếp theo? – Kangkan
Có. Yêu cầu đầu tiên đối với một trong các phương thức dịch vụ sau khi triển khai các dll mới hoặc khởi động lại ứng dụng máy chủ asp.net bị treo với một con trỏ rỗng trên lời gọi HttpContext.Current. Các yêu cầu thứ 2 và sau đây cho dịch vụ hoạt động tốt. –
Câu hỏi được cập nhật để bao gồm lưu ý về UserNamePasswordValidator tùy chỉnh. –