如何在从客户端调用的SignalR Hub方法中获取Nancy ISession实例?

时间:2013-05-24 17:47:48

标签: c# signalr nancy

我有一个SignalR Hub,如下所示:

public class PatchHub : Hub
{
    ISession Session;
    public void RunPatch(string name)
    {
        PatchService.Run(Session, name);
    }
}

每当通过SignalR从客户端调用ISession方法时,您都会看到我需要当前Nancy Session(RunPatch(..))的实例。

然而,我试图通过将ISession Session;声明为类级别变量来让Nancy注入实例但是没有用。

你能告诉我如何在SignalR Hub类中获得Nancy Session的实例吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

public class PatchHub : Hub
{
    ISession _session;
    public PatchHub(ISession session)
    {
        _session = session;
    }

    public void RunPatch(string name)
    {
        PatchService.Run(_session, name);
    }
}
不过,你可以考虑注入PatchService,所以你没有硬依赖它。