2013-07-11 4 views
7

Ho una domanda. Innanzitutto, mi scusi per il mio pessimo inglese, non è la mia lingua madre. Quindi, ho un ProfileProvider personalizzato, ho bisogno di accedere a HttpCurrent.Context all'interno. Se chiamo al mio ProfileProvider "UserXXX.GetUserProfile" da un OperationController tutto è OK, ma se lo chiamo da XXXHub, HttpContext.Current è nullo. Stavo usando SignalR 1.0, ma mi piace aggiornare alla versione 2.0. Sto usando Framework 4.5, Visual Studio 2012, IIS Express con modalità integrata e Windows 7.SIGNALR HttpContext.Current è null

Potete aiutarmi per favore?

Grazie

risposta

0

Leggere il release notes. Cerca nella sezione "IRequest.GetHttpContext() replacement" e implementa la classe SystemWebExtensions menzionata.

+0

Sto usando Hub.Context e non ho problemi, ma se chiamo qualsiasi metodo di qualsiasi classe HttpContext.Current è nullo, questo non è successo nella versione precedente di signalr. Esempio:! 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) LINEA 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

Inoltre, il mio problema non è con GetHttpContext, è con HttpContext.Current. Scusami se non mi capisci :( – user2570599

10

Nella tua SignalR Hub, utilizzare:

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

Invece di HttpContext.Current.

+0

Funziona anche in DNN 7.x (usando 'SingnalR v2.2.2')! –