我在 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=......