SignalRドメイン間設定

2830 ワード

1.ドメイン間永続接続の設定
サーバ側
//        
app.Map("/spy",map=> {
    map.UseCors(CorsOptions.AllowAll);
    //  JSONP
    var config = new ConnectionConfiguration() {
        EnableJSONP=true
    };
    map.RunSignalR(config);
});

クライアント

    $(function () {
        var connection = $.connection("http://localhost:54184/spy");
        connection.logging = true;
        connection.received(function (data) {
            $('#requests').append('<li>'+data+'</li>');
        });
        connection.start().done(function () {

        }).fail(function (err) {
            alert(err);
        });
    });
2.ハブ設定
サーバ側
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.Map("/signalr", map =>
            {
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration
                {
                    EnableJSONP = true
                };
                map.RunSignalR(hubConfiguration);
            });
        }
    }
}
クライアント
ドメイン間signalrを使用しようとしたが、エラーメッセージが得られてStart関数を呼び出すと.エラーメッセージ「Uncaut TypeError:Cannot call method'start'of undefined」は、signalr接続の初期化と起動の問題があり、エージェントリファレンスセンターを発表します.次の例を見てください.



    
    <script src="/Scripts/jquery-1.6.4.min.js"/>
    <script src="/Scripts/jquery.signalR-1.1.4.min.js"/>


    <div/>
    <script type="text/javascript">
        var connection = $.connection.hub.url ='http://localhost:9370/signalr';
        connection.hub.start()
          .done(function () {
              alert('Now connected, connection ID=' + connection.id);
          });
    </script>

</code></pre> 
  <br/> 
  <pre><code><script src="/Scripts/jquery-1.6.4.min.js"/>
<script src="/Scripts/jquery.signalR-1.1.4.min.js"/>
<script src="http://localhost:9370/signalr/hubs"/>

<script type="text/javascript">
    $.connection.hub.url ='http://localhost:9370/signalr';
    var yourHubProxy = $.connection.YourHubName;

    //Do something here with yourHubProxy

    $.connection.hub.start().done(function () {
        alert('Now connected, connection ID=' + $.connection.hub.id);
     });
</script>
    ,                SignalR           。      SignalR 2.x        SignalR 1.1.4      。
</code></pre> 
  <br/> 
 </div> 
</div>
                            </div>
                        </div>