2013-07-11 41 views
7

Tôi có một câu hỏi. Đầu tiên, xin lỗi vì tiếng anh xấu của tôi, không phải ngôn ngữ mẹ đẻ của tôi. Sau đó, tôi có một ProfileProvider tùy chỉnh, tôi cần truy cập vào HttpCurrent.Context bên trong. Nếu tôi gọi đến ProfileProvider của tôi "UserXXX.GetUserProfile" từ một OperationController tất cả là OK, nhưng nếu tôi gọi nó từ XXXHub, HttpContext.Current là null. Tôi đã sử dụng SignalR 1.0, nhưng tôi thích cập nhật ở phiên bản 2.0. Im sử dụng Framework 4.5, visual Studio 2012, IIS Express ith Chế độ tích hợp và Windows 7.SIGNALR HttpContext.Current is null

Bạn có thể giúp tôi không?

Cảm ơn bạn

Trả lời

0

Đọc release notes. Tìm kiếm phần "IRequest.GetHttpContext() thay thế" và triển khai lớp SystemWebExtensions được đề cập.

+0

Tôi đang sử dụng Hub.Context và i havent vấn đề, nhưng nếu tôi gọi bất kỳ phương pháp của bất kỳ lớp HttpContext.Current là null, điều này không xảy ra trong phiên bản signalr cũ hơn. Ví dụ: XXX.dll XXX.OperacionesChat.ContadorSalasEstado (int idArea, int idPais) Línea 497 + 0x69 Bytes \t C# <--- NULL \t YYY.dll YYY.Hubs.YYYHub.CargaContador.AnonymousMethod__37 (DTO!. USUARIOAREAPAISDTO tupla) Línea 174 + 0x1ca Bytes \t C# \t [Código externo] \t \t YYY.dll! YYY.Hubs.YYYHub.CargaContador() Línea 171 + 0x52 Bytes \t C# \t [Código externo] – user2570599

+0

Ngoài ra, vấn đề của tôi không phải với GetHttpContext, là với HttpContext.Current. Xin lỗi nếu bạn không hiểu tôi: ( – user2570599

10

Trong SignalR Hub của bạn, sử dụng:

System.Web.HttpContextBase httpContext = Context.Request.GetHttpContext(); 

Thay vì HttpContext.Current.

+0

Hoạt động trong DNN 7.x quá (sử dụng 'SingnalR v2.2.2')! –

Các vấn đề liên quan