📅  最后修改于: 2023-12-03 15:21:25.495000             🧑  作者: Mango
在使用 SignalR 构建实时应用程序时,当您尝试将 Hub 与 HubPipeline 中的自定义管道一起使用时,可能会遇到以下错误消息:
不支持使用不是由 HubPipeline 创建的 Hub 实例.
这是由于您正在尝试使用自定义管道而不是默认的 SignalR 管道。
要解决此问题,请创建一个启用自定义管道的新实例:
var pipeline = new HubPipeline();
pipeline.AddModule(new MyCustomModule());
var myHubConfiguration = new HubConfiguration
{
Resolver = new DefaultDependencyResolver(),
EnableDetailedErrors = true,
EnableJavaScriptProxies = false,
EnableJSONP = false,
EnableCors = true,
EnableDetailedErrors = true,
EnableAutoRejoiningGroups = true,
EnableRejoiningGroupsOnHubConnect = true,
EnableDetailedErrors = true,
EnableJavaScriptProxies = true,
EnableJSONP = true,
Resolver = new DefaultDependencyResolver(),
EnableTransports = true,
EnableMonitoring = true,
EnableCrossDomain = true,
EnableJavaScriptProxies = true,
EnableJSONP = true,
EnableDetailedErrors = true,
EnableAutoRejoiningGroups = true,
};
var myHub = new MyHub();
myHub.Start(new HttpConfiguration(), pipeline, myHubConfiguration);
这将创建一个新的 HubPipeline 实例,它包括您的自定义模块。然后,您可以使用这个自定义的 HubPipeline
对象来启动您的 MyHub
实例。
上述代码片段是针对 C# 语言的,您可以在您的 SignalR 应用程序中使用它,以确保您的自定义管道能够正常工作,避免出现上述错误消息。