0

我有一个看起来像这样的SignalR集线器:

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 的实例吗?

谢谢你。

4

1 回答 1

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

    public void RunPatch(string name)
    {
        PatchService.Run(_session, name);
    }
}

顺便说一句,您也可以考虑注入PatchService,因此您不会对它有硬性依赖。

于 2013-05-28T13:00:56.783 回答