【问题标题】:How do I get a Nancy ISession instance within a SignalR Hub method called from the client?如何在从客户端调用的 SignalR Hub 方法中获取 Nancy ISession 实例?
【发布时间】:2013-05-29 03:10:32
【问题描述】:

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

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

您可以看到,只要通过 SignalR 从客户端调用 RunPatch(..) 方法,我就需要当前 Nancy 会话 (ISession) 的实例。

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

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

谢谢。

【问题讨论】:

    标签: c# signalr nancy


    【解决方案1】:
    public class PatchHub : Hub
    {
        ISession _session;
        public PatchHub(ISession session)
        {
            _session = session;
        }
    
        public void RunPatch(string name)
        {
            PatchService.Run(_session, name);
        }
    }
    

    顺便说一句,你也可以考虑注入PatchService,这样你就不会硬依赖它了。

    【讨论】:

      猜你喜欢
      • 2018-03-02
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多