小编Rob*_*son的帖子

SignalR Redis背板不工作 - 依赖问题?

我们在冗余的Azure Web应用程序中使用SignalR和Redis(Azure缓存)背板.我们几天前检测到所有SignalR消息似乎都没有交付(它在过去有效),因此指出了背板的问题.

该应用程序使用ASP.Net Owin启动以及Autofac作为集线器的IoC,我们启动SignalR,如下所示:

GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(redisConnectionString, signalrRedisKey));
var hubConfiguration = new HubConfiguration
{
    Resolver = new AutofacDependencyResolver(resolver)
};
app.UseAutofacMiddleware(resolver);
app.MapSignalR("/signalr", hubConfiguration);
Run Code Online (Sandbox Code Playgroud)

如果我将Redis背板配置字符串更改为无效的东西并不重要,它就不会连接.SignalR代码位于Web主机之外的另一个组件中.

我在应用程序中没有任何异常,但是在跟踪SignalR时我遇到了以下错误:

SignalR.ReflectedHubDescriptorProvider警告:0:搜索集线器时,无法加载程序集"Microsoft.AspNet.SignalR.Owin,Version = 1.2.2.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"中的某些类.[C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET

文件\根\ 79fa3057\a44a64e \组件\ DL3\75de3633\cfc73faf_eb21d101\Microsoft.AspNet.SignalR.Owin.dll]

原始异常类型:ReflectionTypeLoadException原始异常消息:无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.

它是nuget的依赖问题吗?

这是我们的packages.config的相关摘录:

<package id="Autofac" version="3.5.2" targetFramework="net46" />
<package id="Autofac.Owin" version="3.1.0" targetFramework="net46" />
<package id="Autofac.SignalR" version="3.0.2" targetFramework="net46" />
<package id="Castle.Core" version="3.3.3" targetFramework="net46" />
<package id="Microsoft.AspNet.SignalR.Client" version="2.2.0" targetFramework="net46" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.2.0" targetFramework="net46" />
<package id="Microsoft.AspNet.SignalR.Redis" version="2.2.0" targetFramework="net46" />
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net46" />
<package …
Run Code Online (Sandbox Code Playgroud)

c# signalr signalr-backplane

5
推荐指数
1
解决办法
2315
查看次数

标签 统计

c# ×1

signalr ×1

signalr-backplane ×1