2

我使用SignalR开发了一个简单的 Web 应用程序,只是为了了解如何使用它。我使用的课程::

public class HealthCheck : Hub
{
    public static List<string> messages = new List<string>();
    public void GetServiceState()
    {
        Clients.updateMessages(messages);
    }
    public void UpdateServiceState()
    {
        messages.Add(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));            
        Clients.updateMessages(messages);
    }
}

然后我使用的网页::

<script type="text/javascript">
    $(function () {
        // creates a proxy to the health check hub
        var healthCheckHub = $.connection.healthCheck;
        // handles the callback sent from the server
        healthCheckHub.updateMessages = function (data) {                
            $("li").remove();
            $.each(data, function () {
                $('#messages').append('<li>' + this + '</li>');
            });
        };
        $("#trigger").click(function () {
            healthCheckHub.updateServiceState();
        });
        // Start the connection and request current state
        $.connection.hub.start(function () {
            healthCheckHub.getServiceState();
        });
    });
</script>
<ul id="messages">
</ul>
<button type="button" id="trigger">
    Send request</button>

我所有的问题是,当我单击按钮时,大约需要 40 秒或 1 分钟才能看到结果......

在 FF 或 IE9 上,我很快就能得到结果。

我的代码或 signalR 或浏览器中的问题也是如此。我正在使用 SignalR V 0.5.3

谢谢你的帮助。

4

1 回答 1

3

最后我发现了问题...

我在 chrome 上出现问题的根源是我的防病毒软件。

我正在使用 AVG Internet Security 2013。我需要做的就是禁用“在线防护”。

有关详细信息,我在这里找到了解决方案 :: Connect Pending in Chrome

于 2012-12-27T10:37:40.700 回答