Нет обновления от службы wcf до веб-приложения SignalR - PullRequest
0 голосов
/ 09 октября 2018

Вот мой код wcfService -

 public class SystemService : ISystemService
{
    private IHubContext hubContext;
    public SystemService()
    {
       hubContext = GlobalHost.ConnectionManager.GetHubContext<WebApplication1.MyHub1>();    
    } 

    public void SendMessage(string sender, string message)
    {
        hubContext.Clients.All.SendMessage(sender, message);  
    }
}

Мое веб-приложение с хабом signalR работает нормально.

    namespace WebApplication1
{
    [HubName("myHub1")]
    public class MyHub1 : Hub
    {
        public void SendMessage(string name, string message)
        {
            // Call the broadcastMessage method to update clients.
            Clients.All.broadcastMessage(name, message);

        }

    }
}

Не принимаются только сообщения от клиента wcf.Нет сообщений об ошибках в tracelog.Если возможно, кто-нибудь может посоветовать, чего мне здесь не хватает.пожалуйста, спросите, нужны ли какие-либо другие детали.

1 Ответ

0 голосов
/ 09 октября 2018

Изменен код для генерации прокси.И работает сейчас.

 public class SystemService : ISystemService
{
    private readonly IHubProxy proxy;
   // private IHubContext hubContext;
    public SystemService()
    {

       var con = new HubConnection("http://localhost:53098/");
        proxy = con.CreateHubProxy("myHub1");
        con.Start().Wait();
    } 

    public void SendMessage(string sender, string message)
    {
        proxy.Invoke("SendMessage", sender, message);
        //hubContext.Clients.All.SendMessage(sender, message);  
    }
}

Но шокирующе, я сначала пытался использовать только этот метод, но раньше он не работал .. Поэтому я попытался использовать IhubContext, как указано выше в моем вопросе.

...