首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >signalr在.net mvc的客户端中不起作用

signalr在.net mvc的客户端中不起作用
EN

Stack Overflow用户
提问于 2017-10-18 22:38:05
回答 1查看 184关注 0票数 0

我在我的.net mvc项目浏览器日志中使用signalr是:

18:01:35 GMT+0330 (伊朗标准时间) SignalR:客户端订阅了集线器‘通知中心’。jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR:与'/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D'.谈判jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR: webSockets传输开始。jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR:正在连接到websocket端点'ws://localhost:3641/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=DiNre61g3xkbc1m99KZy8uhEaUK3FV0MpD4oiUxvyyser9qZpeA%2BUST3IVuvqQBfLFWc2TwSiy3MieDFXt1VWOcc2XPuL0soOC6kzikEprWOxyCo1AWeFByjXYPntuFC&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=9'.jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR: Websocket打开。jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR: webSockets传输已连接。正在启动启动请求。jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR:启动请求成功转换到已连接状态。jquery.signalR-2.2.1.min.js:9:3362

18:01:35 GMT+0330 (伊朗标准时间) SignalR:现在监控保持连接,警告超时为13333.333333333332,保持连接超时为20000,断开连接超时为30000

18:12:40 GMT+0330 (伊朗标准时间) SignalR:触发集线器'notificationHub‘上的客户端集线器事件'receiveNotification’

问题出在哪里?

EN

回答 1

Stack Overflow用户

发布于 2017-10-19 02:58:51

客户端代码:

代码语言:javascript
复制
<script>
    $(function () {

        $.connection.hub.logging = true; 
        var notificationHub = $.connection.notificationHub;
    
          notificationHub.client.receiveNotification = function (message, userID, link) {

            showNotification('new message', message, link);
        };
        $.connection.hub.start(); 
        

    });


    $.connection.hub.disconnected(function () {
        setTimeout(function () {
            $.connection.hub.start();
        }, 5000); // Restart connection after 5 seconds.
    });

</script>




<script type="text/javascript">
        function notify(title,message,link) {
           
            var option = {
                body: message,
                dir: 'rtl',
                title:title,
                icon:'/Content/Images/notification.png',

            }

            var notify = new Notification(title, option);
            

            notify.onclick = function () {
                window.open(link, '_blank');
                notify.close();
            };

            

        }

        function showNotification(title, message, link) {

            if (!("Notification" in window)) {

                
                //alert('Your browser does not support Notification');

            } else if (Notification.permission === "granted") {

                notify(title, message, link);

            } else if (Notification.permission !== "denied") {

                Notification.requestPermission(function (permission) {

                    if (permission === "granted") {

                        notify(title, message, link);

                    }

                });

            }

        }
    </script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46812787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档