Для одного из моих проектов я должен использовать DNN. Я создал обычный проект ASP. NET, в котором я экспериментировал с SignalR, и он отлично работает.
Но в DNN версии 8 после установки пакетов SignalR NuGet как Core, так и для JS и создания класс запуска, такой как:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
класс testhub, такой как:
public class MyTestHub : Hub
{
public void Hello(string message)
{
//Clients.All.hello();
// set all clients
var clients = Clients.All;
// call javascript function
clients.test("This is a test");
Trace.WriteLine(message);
}
}
и, наконец, страница индекса:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
DNN 8 SignalR TestPage
</div>
</body>
</html>
<script src="~/DesktopModules/MVC/AC_ChatTest1/Scripts/jquery.signalR-2.4.1.min.js"></script>
<script src="~/signalr/hubs"></script>
<script>
$(function () {
console.log('in on ready');
// set up the hub connection
var hub = $.connection.mytest;
console.log(hub);
// define JS function that is called from
hub.client.test = function (msg) {
console.log(msg);
}
$.connection.hub
.start()
.done(function () {
hub.server.hello("SignalR is working.");
})
});
</script>
Я получил это ошибка: