C# 信号员拒绝工作 Global.asax: ~/Pages/Messages.aspx $(函数(){ 变量连接=$.connection('echo'); 已接收连接(功能(数据){ $(“#消息”).append(“”+data+”); }); connection.start(); $(“#广播”)。单击(函数(){ connection.send($('#msg').val()); }); }); 错误:
信号器:必须先启动连接,然后才能发送数据。在.send()之前调用.start() 到目前为止,我尝试的是:C# 信号员拒绝工作 Global.asax: ~/Pages/Messages.aspx $(函数(){ 变量连接=$.connection('echo'); 已接收连接(功能(数据){ $(“#消息”).append(“”+data+”); }); connection.start(); $(“#广播”)。单击(函数(){ connection.send($('#msg').val()); }); }); 错误:,c#,jquery,asp.net,ajax,signalr,C#,Jquery,Asp.net,Ajax,Signalr,信号器:必须先启动连接,然后才能发送数据。在.send()之前调用.start() 到目前为止,我尝试的是: 两种解决方案(https://github.com/SignalR/SignalR/wiki/Faq)没有解决我的问题。 有什么想法吗?谢谢。请确保正确配置了echo脚本的url: var connection = $.connection('<%= ResolveClientUrl("~/echo") %>'); var connection=$.connection
两种解决方案(https://github.com/SignalR/SignalR/wiki/Faq)没有解决我的问题。
有什么想法吗?谢谢。请确保正确配置了
echo
脚本的url:
var connection = $.connection('<%= ResolveClientUrl("~/echo") %>');
var connection=$.connection(“”);
由于您在~/Pages
文件夹中使用echo
是不正确的,因为如果应用程序托管在虚拟目录中,则路由需要/echo
或/appname/echo
public class myconnection : PersistentConnection
{
protected override Task OnReceivedAsync(string clientId, string data)
{
// Broadcast data to all clients
return Connection.Broadcast(data);
}
}
<script src="http://code.jquery.com/jquery-1.7.min.js" type="text/javascript"></script>
<script src="../Scripts/jquery.signalR.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var connection = $.connection('echo');
connection.received(function (data) {
$('#messages').append('<li>' + data + '</li>');
});
connection.start();
$("#broadcast").click(function () {
connection.send($('#msg').val());
});
});
</script>
<input type="text" id="msg" />
<input type="button" id="broadcast" value="broadcast" />
<ul id="messages">
</ul>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
</configuration>
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
var connection = $.connection('<%= ResolveClientUrl("~/echo") %>');