2013-07-11 52 views
7

我有一个问题。首先,请原谅我的英文不好,不是我的母语。 然后,我有一个自定义的ProfileProvider,我需要访问HttpCurrent.Context里面。如果我从OperationController调用我的ProfileProvider“UserXXX.GetUserProfile”,一切正常,但如果我从XXXHub调用它,HttpContext.Current为null。我使用的是SignalR 1.0,但我喜欢2.0版本的更新。我使用框架4.5,Visual Studio 2012,IIS Express集成模式和Windows 7.SIGNALR HttpContext.Current为空

你能帮助我吗?

谢谢

回答

0

阅读release notes。搜索“IRequest.GetHttpContext()替换”部分并实现所提及的SystemWebExtensions类。

+0

我使用Hub.Context和我没有问题,但如果我调用任何类的任何方法HttpContext.Current为null,这不会发生在较旧的信号版本。例如:! XXX.dll XXX.OperacionesChat.ContadorSalasEstado(INT idArea,INT idPais)拉利内阿497 + 0×69字节\t C#<--- NULL \t YYY.dll YYY.Hubs.YYYHub.CargaContador.AnonymousMethod__37(DTO!。 USUARIOAREAPAISDTO tupla)拉利内阿174 + 0x1ca字节\t C# \t [Código外路] \t \t YYY.dll!YYY.Hubs.YYYHub.CargaContador()拉利内阿171 + 0×52字节\t C# \t [Código外路] – user2570599

+0

另外,我的问题不是用GetHttpContext,用HttpContext.Current。对不起,如果你不理解我:( – user2570599

10

在你的SignalR枢纽,使用方法:

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

代替HttpContext.Current的。

+0

也可以在DNN 7.x中使用(使用'SingnalR v2.2.2')! –

相关问题