2012-03-02 5 views
7

Kısa uzun bir hikaye yapmak için çalışacağım Web Uygulaması From Within Bağlantı başlatılamıyor benim uygulamam. Nedeni, sonuçta çekirdek ve tetikleyici olayları (mobil web, yönetici sitesi, api, vb.) Düşünen bir dizi uygulamaya sahip olduğum. Olayların meydana geldiği masaüstü olay kullanıcılarını SignalR kullanarak bildirmek istiyorum.SignalR NET Müşteri: Ben bir çekirdek düzeneğinin bir web uygulamasında bir hub üzerindeki bir yöntemi çağırmak istiyorum</p> <p>: Uygulama Alan

Bunu başarabilmek için 4 proje çözümü oluşturdum. Hub proxy ile bir çekirdek proje. Hub ile bir web uygulaması. Hub olmadan başka bir web uygulaması. Ve son olarak bir konsol uygulaması.

Konsol uygulamasından çekirdeği arayabilir ve proxy'yi kullanarak hub istemcilerine bir ileti göndermeyi dener, her şey harika çalışır.

var connection = new HubConnection("..."); 
var hub = connection.CreateProxy("Spike.Hub"); 
connection.Start().Wait(); 

değil olması gerekiyordu SignalR.Client eşyaların mı: Ben çekirdek içine çağırmak ve web uygulamaları birinden vekil kullanmaya çalıştığınızda Ancak, yürütme connection.Start() çağrısına askıda kalıyor Bir web uygulamasının uygulama alanından kullanılıyor mu? Neden konsol uygulamasında beklendiği gibi çalışıyor, ancak bir web uygulamasından değil?


Güncelleme: Ben SignalR kaynağına benim başak bağladım ve web uygulamaları birinden çalıştırırken, yürütme SignalR.Client.Connection hattı 130 de kapatır. Böyle bir bağlantı için _syncContext bir AspNetSynchronizationContext örneğidir ve Post() yöntemini çağırırken, her şey durur.

cevap

10

SignalR.Client bir hata var ve bunun benim için

+0

Yaşasın :) bulundu: S - github sayısında herhangi bir tartışma devam edecek. https://github.com/SignalR/SignalR/issues/221#issuecomment-4300487. – spot

İlgili konular