PClarkeirl Ответов: 0

Signalr не работает в службе WCF, размещенной в IIS8 на сервере 2012R2


Я относительно новым для asp.net и провела последние 3 дня пытаюсь получить простой вариант помощью SignalR настроен в моей c# обслуживание в WCF. Но я, кажется, хожу по кругу. Первая проблема-это путаница в том, где должны быть загружены/созданы различные элементы или signalR. Может быть, для меня лучше всего дать свое понимание требуемой установки.
Моя установка выглядит следующим образом:

Мое приложение-служба - это служба C# WCF, которая работает в IIS8 на сервере windows 2012R2. ("служба")
Мое клиентское приложение - это приложение c# WebForm, работающее на том же сервере windows 2012R2 ("клиент")
Клиентское приложение имеет файл JavaScript с именем myJavaScript.js ("файл JavaScript")
Пользователи получают доступ к сервису через "клиент", работающий в веб-браузере, обычно Chrome ("браузер")

Ниже приведены изменения, которые я внес в "служба", "клиент" &усилитель; "файл JavaScript"в моих попытках отправить простое сообщение из сервиса в браузер через signalR.

Изменения в "служба"(имя приложения DCRules2)
* Загружено из nuget Microsoft.сеть САШ.V2 с помощью SignalR.2.2
* Загружено из nuget Microsoft.сеть САШ.Помощью SignalR,основные V2.2.2
* Загружено из nuget Microsoft.сеть САШ.SignalRJS версии v2.2.2
* Загружено из nuget Microsoft.сеть САШ.Помощью SignalR.SystemWeb версии v2.2.2
• Скачал из NuGet для Microsoft.Долг.SystemWeb В3.1.0
* Загружено из nuget Microsoft.Долг В3.1.0
• Скачал из NuGet для Microsoft.Долг.Безопасность V3.1.0
• Скачал из NuGet долг В1.0.0

Добавлен класс запуска Owin Startup Class Startup1. cs

using System;
using System.Threading.Tasks;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using Owin;
using DCRules2;
[assembly: OwinStartup(typeof(DCRules2.Startup1))]

namespace DCRules2
{
    public class Startup1
    {
        public void Configuration(IAppBuilder app)
        {
            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
             //app.MapSignalR();
             //app.MapSignalR("/~/signalr", new HubConfiguration());          
             var hubConfiguration = new HubConfiguration();
             app.MapSignalR("/signalr", hubConfiguration);


      
        }
    }
}


Добавлен хаб класса TiosHub. cs

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

namespace DCRules2
{
    //[HubName("tios")]
    public class TiosHub : Hub
    {
        // Tell all of the clients that there is an announcement
        public void Announce(string message)
        {
            Clients.All.Announce(message);
        }

    }
}


Перестроил службу и перезапустил IIS
++++++++++++++++++++++++++++++++++++++++++++++++

Изменения в "клиент"(имя приложения DCRulesWeb01)
* Загружено из nuget Microsoft.сеть САШ.Помощью SignalR.Клиент версии v2.2.2
• Скачал из NuGet для Microsoft.Долг.SystemWeb В3.1.0
* Загружено из nuget Microsoft.Долг В3.1.0
• Скачал из NuGet долг В1.0.0

Я добавил JavaScript-ссылки на файл webform1.aspx-файл

<script src="~/Scripts/jquery.signalR-2.2.2.js">
</script> <script src="~/signalr/hubs"></script>


Я добавил сообщить() метод в webform1.aspx-файл.CS, чтобы проверить помощью SignalR

// Test SignalR
        public void Announce(string message)
        {
            string msg = message;
        }


++++++++++++++++++++++++++++++++++++++++++++++++
Изменения в "файл JavaScript"(имя приложения DCRulesWeb01)

Myjavascript.js файл-это файл JavaScript на клиентской стороне, который я вставил следующий код в:
// SignalR configuration
$(function () {
    var tioshub = $.connection.tiosHub;

    $.connection.hub.start().done(function () { });
   
    tioshub.client.announce = function (message) {
    console.info('Received message: ' +message);
    }

});


наконец я заново построил клиентское приложение, опубликовал проект и заново запустил IIS
Когда я запускаю службу и нажимаю F12 , я получаю следующие ошибки
1. не удалось загрузить ресурс - сервер ответил со статусом 404 (не найден) jquery.signalR-2.2.2.js
2. не удалось загрузить ресурс - сервер ответил со статусом 404 (не найден) хабов
3. Uncaught TypeError: не удается прочитать свойство 'tiosHub' undefined

Одна вещь, которую я ожидал увидеть, - это создание папки signalr/hubs, чего не произошло. Я предполагаю, что это связано с ошибкой 404 выше.
Кто-нибудь может объяснить, что я делаю не так ?

Что я уже пробовал:

Я провел несколько дней, исследуя это, спустился во многие кроличьи норы, но до сих пор не нашел ответа

0 Ответов