2017-05-15 118 views
0

我不知道它是VS2017还是什么..但我有最简单的signalR应用程序可能,它不起作用。这里是我的代码,也许你会发现:SignalR无法在Visual Studio 2017下工作

我创建了空的ASP.NET Web应用程序。

添加启动类:

[assembly: OwinStartup(typeof(Connect4.Server.Startup))] 

namespace Test.Server 
{ 
    public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      app.MapSignalR(); 
     } 
    } 
} 

新增ChatHub:

namespace Test.Server 
{ 
    [HubName("chatHub")] 
    public class ChatHub : Hub 
    { 
     public void send(string message) 
     { 
      Clients.All.addMessage(message); 
     } 
    } 
} 

和 “Default.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启用JavaScript调试(Chrome和IE)。(在工具>选项>调试>常规>启用JavaScript调试为ASP.NET(Chrome和IE)),因为this问题

+0

什么错误你会得到吗? – hardkoded

+0

@kblok没有任何错误..没有任何反应,没有任何输出.. –

回答

1

您需要添加hubs脚本

<script type="text/javascript" src="/signalr/hubs"></script> 
+0

这就是为什么我不是脚本语言的忠实粉丝......有时他们甚至不显示错误:/就是这样! –

相关问题