Signalr 信号器客户端应用程序未连接到集线器

Signalr 信号器客户端应用程序未连接到集线器,signalr,Signalr,我试图实现的是一个控制台应用程序,它能够连接到使用SignalR托管在网站上的特定中心,并向该中心发送消息 我有一个控制台应用程序,试图连接到网站上的“聊天”中心。控制台将尝试连接,然后发送消息并关闭 static void Main(string[] args) { var connection = new HubConnection("http://mysite:101/"); IHubProxy myHub = connection.Crea

我试图实现的是一个控制台应用程序,它能够连接到使用SignalR托管在网站上的特定中心,并向该中心发送消息

我有一个控制台应用程序,试图连接到网站上的“聊天”中心。控制台将尝试连接,然后发送消息并关闭

    static void Main(string[] args)
    {
        var connection = new HubConnection("http://mysite:101/");
        IHubProxy myHub = connection.CreateProxy("Chat");


        connection.Start().ContinueWith(task =>
        {

            if (task.IsFaulted)
            {
                Console.WriteLine("There was an error opening the connection:{0}", task.Exception.GetBaseException());
            }
            else
            {

                Console.WriteLine("Client Connected");
            }

        }).Wait();

        myHub.Invoke("Send", "Console App is Online!. ").ContinueWith(task =>
        {
            if (task.IsFaulted)
            {
                Console.WriteLine("There was an error calling send: {0}", task.Exception.GetBaseException());
                Console.WriteLine(task.Status.ToString());
            }
            else
            {
                Console.WriteLine("Send Complete.");
            }
        }).Wait();
在本地一切都很好(我想这应该是同一个应用程序域)

我的asp中心只是基于wiki中的聊天示例

Jscript与示例中的内容几乎相同

    <script type="text/javascript" src="Scripts/jquery-1.7.2.js"></script>
 <script type="text/javascript" src="Scripts/jquery.signalR-0.5.1.js"></script>

<script src='<%= ResolveClientUrl("~/signalr/hubs") %>'> type="text/javascript">   </script>
<script type="text/javascript">

  jQuery.support.cors = true;

  $(function () {
      // Proxy created on the fly
      var chat = $.connection.chat;

      // Declare a function on the chat hub so the server can invoke it
      chat.addMessage = function (message) {
          $('#messages').append('<li>' + message + '</li>');
      };



      $("#broadcast").click(function () {
          // Call the chat method on the server
          chat.send($('#msg').val())
              .done(function () {
                  console.log('Success!');
              })
              .fail(function (e) {
                  console.warn(e);
              });
      });

      // Start the connection
      $.connection.hub.start();
  });

type=“text/javascript”>
jQuery.support.cors=true;
$(函数(){
//动态创建的代理
var chat=$.connection.chat;
//在聊天中心上声明一个函数,以便服务器可以调用它
chat.addMessage=功能(消息){
$(“#消息”).append(“
  • ”+消息+”
  • ”); }; $(“#广播”)。单击(函数(){ //在服务器上调用chat方法 chat.send($('#msg').val()) .done(函数(){ console.log('Success!'); }) .失败(功能(e){ 控制台。警告(e); }); }); //启动连接 $.connection.hub.start(); });


    我尝试设置jQuery.support.cors=true;省略或添加集线器名称,我已经调查过在同一台服务器上以正确的设置运行console应用程序(仍然没有连接到集线器),并且似乎不是防火墙问题。有没有人有过类似项目的运气,或者知道我做错了什么?。我真的很想实现这一基本沟通,以扩展Signal带来的许多想法

    如果您想跨域访问,请阅读此处。滚动到底部

    我已经阅读了这篇文章,但我仍然不确定阻止我连接的问题所在。我在您的代码中没有看到这一点:$.connection.hub.url=''$.connection.hub.start();感谢您的指导,我的javascript中有这两行代码现在都在web服务器上,但是连接时控制台应用程序挂起了?我想我现在可以工作了,在这些代码之后,我在IIS上得到了401,所以我启用了匿名身份验证和viola。是否可以在CLR数据库项目中编译此文件以用于SQL,或者这是否奇怪:(?)?。
        <script type="text/javascript" src="Scripts/jquery-1.7.2.js"></script>
     <script type="text/javascript" src="Scripts/jquery.signalR-0.5.1.js"></script>
    
    <script src='<%= ResolveClientUrl("~/signalr/hubs") %>'> type="text/javascript">   </script>
    <script type="text/javascript">
    
      jQuery.support.cors = true;
    
      $(function () {
          // Proxy created on the fly
          var chat = $.connection.chat;
    
          // Declare a function on the chat hub so the server can invoke it
          chat.addMessage = function (message) {
              $('#messages').append('<li>' + message + '</li>');
          };
    
    
    
          $("#broadcast").click(function () {
              // Call the chat method on the server
              chat.send($('#msg').val())
                  .done(function () {
                      console.log('Success!');
                  })
                  .fail(function (e) {
                      console.warn(e);
                  });
          });
    
          // Start the connection
          $.connection.hub.start();
      });