【问题标题】:Run Hub Method directly in Controller Action by SignalRSignalR 在 Controller Action 中直接运行 Hub 方法
【发布时间】:2014-04-18 01:53:53
【问题描述】:

我有一个类似下面的 SignalR:

public class ConnectionHub : Hub
{
    private static readonly ConcurrentDictionary<string, User> Users = new ConcurrentDictionary<string, User>();

    public void GetAddressingResult()
    {
         //some implementation
    }

}

我想直接在控制器方法中调用 GetAddressingResult 方法。

    //In Home Controller

    [HttpPost]
    public void StartAddressing(string physicalAddress)
    {
        //I want to call GetAddressingResult method just here.
    }

我现在可以像在控制器上调用 javacsript 方法和 javascript 调用 hub 方法一样执行此操作。但这似乎并不好。此外,我尝试在控制器操作中创建 ConnectionHub 的实例并调用集线器方法,而不是给我一个错误,例如“hubpipleline 之外的 signalR 集线器实例”

我使用的是 SignalR 1.1.4 版本。

我正在寻找一种最佳方法。

【问题讨论】:

    标签: c# .net signalr signalr-hub


    【解决方案1】:

    您不能创建集线器的实例——它们是在调用集线器方法时根据需要创建的。有关如何从集线器外部调用集线器方法,请参阅以下内容:

    http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server#callfromoutsidehub

    【讨论】:

      猜你喜欢
      • 2018-04-04
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 1970-01-01
      相关资源
      最近更新 更多