2017-06-05 54 views
2

我想使用SignalR与aspnetcore 2.0.0预览版。根据发行说明,预览版应该支持signalR,并且我可以添加对“Microsoft.aspnetcoreSignalR”包的引用。
但是,我无法在IApplicationBuilder上找到MapSignalR扩展方法或类似useSignalR()的东西。
谷歌搜索为此提供了很多UseAppBuilder扩展方法的例子。不过,我仍然感到迷惑MapSignalR与下面的代码:如何使用SignalR与aspnetcore 2.0.0预览

using Microsoft.AspNetCore.Builder; 

using Microsoft.Owin.Mapping; 
using Microsoft.Owin.Helpers; 
using Microsoft.Owin.Extensions; 
using Microsoft.Owin.Builder; 
using Owin; 
using System; 
using System.Collections.Generic; 
using System.Threading.Tasks; 

namespace MyNamespace 
{ 
    using AppFunc = Func<IDictionary<string, object>, Task>; 

    public static class SignalRExtensions 
    { 


     public static IApplicationBuilder UseAppBuilder(this IApplicationBuilder app, Action<IAppBuilder> configure) 
     { 
      app.UseOwin(addToPipeline => 
      { 
       addToPipeline(next => 
       { 
        var appBuilder = new AppBuilder(); 
        appBuilder.Properties["builder.DefaultApp"] = next; 

        configure(appBuilder); 

        return appBuilder.Build<AppFunc>(); 
       }); 
      }); 

      return app; 
     } 

     public static void UseSignalR2(this IApplicationBuilder app) 
     { 
      app.UseAppBuilder(appBuilder => appBuilder.MapSignalR()); 
     } 
    } 
} 

这是无法找到MapSignalR扩展方法。任何想法,如果我能找到这个将与aspnetcore一起工作的nuget包?还是有不同的机制来初始化signalR与aspnetcore 2.0.0预览? 我正在使用Visual Studio 2017预览版15.3,并安装了.Net Core 2.0预览版。

回答

1

我基本上有一组错误的块参考。如果我只有aspnetcore 2.0.0 preview 1和相应的Microsoft.aspnetcore.signalR 1.0.0预览包,则已有UseSignalR()方法作为IApplicationBuilder的扩展方法,我们不需要任何上述代码。