2017-05-15 159 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

這就是爲什麼我不是腳本語言的忠實粉絲......有時他們甚至不顯示錯誤:/就是這樣! –

相關問題