2017-04-03 113 views
-1

我想在Asp.Net Core 1.1中创建实时应用程序,但我不能再使用在我的应用程序中,帮助我选择哪种框架对我更好?我必须选择或MicroSoft有解决方案吗?我可以使用与类似的Alternative框架? !SignalR In ASP.Net Core〜1.1

Microsoft.AspNetCore版本1.1.1 Microsoft.AspNetCore.Mvc版本1.1.1

回答

4
  1. 添加https://dotnet.myget.org/f/aspnetcore-ci-dev/api/v3/index.json可用包源(工具/选项/ NuGet包管理器/包源)
  2. 安装Microsoft.AspNetCore.SignalR.Server包版本0.2.0-preview2-22683。您可能需要调整“包裹来源”并选中NuGet包裹管理器中的“包括预发布”复选框才能在搜索结果中查看包裹。
  3. 安装Microsoft.AspNetCore.WebSockets程序包(版本1.0.1)。
  4. 将services.AddSignalR(),app.UseWebSockets()和app.UseSignalR()调用添加到Startup.cs。

适用于Visual Studio 2017和.NET Core 1.1.1。

0

好像你可以在ASP.NET核心使用SignalR 2,现在1.1的应用程序,只要他们的目标是完整的.NET框架而不是.NET核心。

为了这个工作,你需要为OWIN创建一个Middleware-Wrapper。 Yatajgaa nice sample over at MSDN

这里有一个有趣的现象(取自说样品):

using Microsoft.Owin.Builder;  
using Owin;  
using System;  
using System.Collections.Generic;  
using System.Threading.Tasks;  
using Microsoft.AspNetCore.Builder;  

namespace RealTimeDataEditor  
{ 
    using AppFunc = Func<IDictionary<string, object>, Task>;  
  
    public static class BuilderExtensions  
    {  
        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());  
     } 
    } 
} 

而这样一来,你可以简单地调用app.UseSignalR2();配置()方法中的Startup.cs文件。

声明:SignalR 2尚未针对ASP.NET Core开发,因此在生产中使用SignalR 2时可能会遇到一些问题。

+0

THX乌拉圭回合的答案被找到,但这种解决方案只是为ASPNETCORE.NET462工作。 并不适用于ASPNETCORE.NETCORE :( https://www.youtube.com/watch?v=wIsync6vTfQ – soroushdes

+1

是的,这就是我在第一句话中所说的;-)但是如果你打算在跑步无论如何,在Windows硬件上,这可能是最简单的解决方案。 – Thomas

相关问题