2015-10-01 11 views
5

सिग्नल 3 और एएसपी.नेट 5 बीटा 7 संस्करण तक अच्छी तरह से काम कर रहे थे। अब माइक्रोसॉफ्ट कहा गया है कि SignalR 3 'होल्ड पर' है, और एक से दो निकट भविष्य में एक साथ काम करने की उम्मीद नहीं करनी चाहिए:एएसपी.NET 5 में सिग्नलआर 2 का उपयोग

https://github.com/aspnet/SignalR-Server/issues/119

https://github.com/aspnet/SignalR-Server/issues/121

तो सवाल: वहाँ के लिए एक रास्ता है एएसपी.NET 5 ऐप में कम से कम सिग्नल 2 काम करें?

उत्तर

7

मिले इस लेख में Owin संगत मिडलवेयर उपयोग से संबंधित सामान्य समाधान: https://lbadri.wordpress.com/2014/11/01/asp-net-vnext-middleware-versus-owinkatana-middleware/

  1. संदर्भ Microsoft.AspNet.Owin पैकेज
  2. सम्मिलित Startup.Configure में निम्न कोड:
app.UseOwin(addToPipeline => 
{ 
    addToPipeline(next => 
    { 
     var appBuilder = new AppBuilder(); 
     appBuilder.Properties["builder.DefaultApp"] = next; 

     appBuilder.MapSignalR(); 

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

SignalR 2 .NET कोर 2 पर भी चलता है, जब आप आंतरिक में चारों ओर घूमते हैं:

// SignalR checks if it's running in a Mono environment and then 
// disables features like performance counters 
// .NET Core isn't Mono, but doesn't have the performance counters DLL 
// Let's make .NET Core a Mono 
var signalRAssembly = typeof(Microsoft.AspNet.SignalR.PersistentConnection).Assembly; 
// This type is internal 
var monoUtility = signalRAssembly.GetType("Microsoft.AspNet.SignalR.Infrastructure.MonoUtility"); 
var field = monoUtility.GetField(
    "_isRunningMono", 
    BindingFlags.NonPublic | BindingFlags.Static 
); 
field.SetValue(null, new System.Lazy<bool>(() => true)); 
संबंधित मुद्दे