2017-04-03 100 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

相關問題