2013-07-11 10 views
7

Mam pytanie. Po pierwsze, przepraszam za mój zły angielski, to nie mój język ojczysty. Następnie mam niestandardowego ProfileProvider, potrzebuję dostępu do HttpCurrent.Context wewnątrz. Jeśli zadzwonię do mojego ProfileProvider "UserXXX.GetUserProfile" z OperationController wszystko jest OK, ale jeśli zadzwonię z XXXHub, HttpContext.Current ma wartość null. Używałem SignalR 1.0, ale lubię aktualizację w wersji 2.0. Im przy użyciu programu Framework 4.5, Visual Studio 2012, IIS Express z modułem zintegrowanym i Windows 7.SIGNALR HttpContext.Current ma wartość null

Czy możesz mi pomóc?

Dziękuję

Odpowiedz

0

Przeczytaj release notes. Wyszukaj w sekcji "Wymiana IRequest.GetHttpContext()" i zaimplementuj wspomnianą klasę SystemWebExtensions.

+0

Używam Hub.Context i nie mam problemu, ale jeśli wywołać dowolną metodę z jakiejkolwiek klasy HttpContext.Current ma wartość null, nie stało się to w starszej wersji signalr. Przykład: XXX.dll XXX.OperacionesChat.ContadorSalasEstado (Int idArea int idPais) Linea 497 + 0x69 bajtów \t C# <--- NULL \t YYY.dll YYY.Hubs.YYYHub.CargaContador.AnonymousMethod__37 (DTO!. USUARIOAREAPAISDTO tupla) LINEA 174 + 0x1ca Bajty \t C# \t [Código externo] \t \t YYY.dll! YYY.Hubs.YYYHub.CargaContador() Linea 171 + 0x52 Bajty \t C# \t [Código externo] – user2570599

+0

również mój problem nie jest z GetHttpContext, jest z HttpContext.Current. Przepraszam, jeśli mnie nie rozumiesz :( – user2570599

10

W swojej SignalR Hub, użyj:

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

Zamiast HttpContext.Current.

+0

Działa również w DNN 7.x (używając 'SingnalR v2.2.2')! –