0

我在 Visual Studio 中创建了一个带有 signalR 引用的应用程序。创建了一个枢纽。在 IIS Express 上运行应用程序时,一切正常。当我将它传输到 IIS8 时,在 firebug 中我看到 signalR 的 URL 是错误的,例如:

http://localhost/signalr/negotiate?connectionData=......

缺少站点名称的问题应该是:

http://localhost/MYSITE/signalr/negotiate?connectionData=......

这是我用来初始化连接的脚本:

<script type="text/javascript">
        var proxy;

        $(function () {
            var connection = $.hubConnection();
            proxy = connection.createHubProxy('chatHub');
            proxy.on('newMessage', onNewMessage);
            connection.start();

            $('#send').click(onSend);
        });

        function onNewMessage(message) {
            $('#messages').append('<li>' + $('#message').val() + '</li>');
        }

        function onSend() {
            proxy.invoke('newMessage', $().val());
        }
    </script>

我试图将连接发送到 $.hubConnection(),但随后站点名称加倍:

http://localhost/MYSITE/MYSITE/signalr/negotiate?connectionData=......
4

1 回答 1

0

包含脚本/其他资源时,使用波浪号来引用应用程序根目录。我有一个类似的设置,这在开发和生产环境中对我有用:

<script src="~/Scripts/jquery.signalR-1.1.2.js" type="text/javascript"></script>
<script src="~/signalr/hubs" type="text/javascript"></script>
于 2013-08-23T21:17:10.753 回答