我不知道是VS2017还是什么......但我有最简单的signalR应用程序,但它不起作用。这是我的代码,也许你会发现一些东西:
我创建了空 ASP.NET Web 应用程序。
添加了启动类:
[assembly: OwinStartup(typeof(Connect4.Server.Startup))]
namespace Test.Server
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
添加了聊天中心:
namespace Test.Server
{
[HubName("chatHub")]
public class ChatHub : Hub
{
public void send(string message)
{
Clients.All.addMessage(message);
}
}
}
和"默认.aspx":
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test.Server.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Signalr Chat Messenger</title>
<script src="Scripts/jquery-1.6.4.js"></script>
<script src="Scripts/jquery.signalR-2.2.2.js"></script>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript">
$(function () {
var IWannaChat = $.connection.chatHub;
IWannaChat.client.addMessage = function (message) {
$('#listMessages').append('<li>' + message + '</li>');
};
$("#SendMessage").click(function () {
IWannaChat.server.send($('#txtMessage').val());
});
$.connection.hub.start();
});
</script>
<div>
<input type="text" id="txtMessage" />
<input type="button" id="SendMessage" value="broadcast" />
<ul id="listMessages">
</ul>
</div>
</form>
</body>
</html>
你能看出什么问题吗?该网站使用文本框和广播按钮打开。但是我单击它后没有任何反应。
顺便说一句。我不得不取消选中为 ASP.NET(Chrome 和 IE(启用 JavaScript 调试"(在">工具">"选项">>"常规">"为 ASP.NET(Chrome 和 IE(启用 JavaScript 调试"中(,因为此问题
您需要
添加hubs
脚本
<script type="text/javascript" src="/signalr/hubs"></script>