SignalR签署ServiceStack会话

时间:2013-10-16 07:17:05

标签: javascript asp.net servicestack signalr

我似乎在ServiceStack和SignalR之间有一个奇怪的问题。两种服务都运行正常,没有奇怪的活动,SignarlR Hub成功加载并按预期工作。 ServiceStack通过Google验证,没有问题。

但是,一旦我使用SS登录网站,一切都很好,当我导航到使用SignalR的页面时,问题就出现了。一旦用于SignalR的javascript已经启动,它似乎清除了服务器上ServiceStack的所有会话信息。这意味着如果我刷新页面,我会被重定向回登录。但是,如果我按原样离开页面,SignalR通知将按预期到达。

任何人都有任何想法可能会发生什么?

我的简单代码基于StockTicker示例。这是:

<HubName("salesTicker")> _

Public Class VerificationLogHub     继承中心     Private ReadOnly _verificationTicker As VerificationLogTicker

Public Sub New()
    Me.New(VerificationLogTicker.Instance)

End Sub

Public Sub New(verTicker As VerificationLogTicker)
    _verificationTicker = verTicker
End Sub

Public Function GetAllLogs() As IEnumerable(Of UI_GuestBook)
    Return _verificationTicker.GetAllLogs()
End Function

Public Sub start()
    _verificationTicker.StartMonitoring()
End Sub

Public Sub [stop]()
    _verificationTicker.StopMonitoring()
End Sub

结束班

Ticker类几乎与StockTicker示例相同,唯一的区别在于,我从我的数据库中获取数据显然不会产生randon股票价格。

这是让网球滚动的页面javascript。

<script type="text/javascript">

    $(function () {
        var ticker = $.connection.salesTicker;
        $.connection.hub.start().pipe(init);


        function init() {
            return ticker.server.getAllLogs().done(function (guestBooksLog) {
                ticker.server.start();
                if(guestBooksLog.length>0)
                    updateStats(guestBooksLog[0]);
            });
        }

        $.extend(ticker.client, {
            updateStockPrice: function (GuestBook) {
                updateStats(GuestBook);
            }
        });
    });

    function updateStats(GuestBook) {
        $('#spanLsRate').html((GuestBook.Rate * 100).toFixed(1));
        $('#spanDcCount').html(GuestBook.TotalCount);

        console.log("Stats updated...");


    }

0 个答案:

没有答案