gpt4 book ai didi

c# - SignalR 拒绝工作

转载 作者:太空狗 更新时间:2023-10-30 00:44:20 25 4
gpt4 key购买 nike

全局.asax:

void Application_Start(object sender, EventArgs e) 
{
RouteTable.Routes.MapConnection<myconnection>("echo", "echo/{*operation}");
}

我的连接.cs

    public class myconnection : PersistentConnection
{
protected override Task OnReceivedAsync(string clientId, string data)
{
// Broadcast data to all clients
return Connection.Broadcast(data);
}
}

~/Pages/Messages.aspx

<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>

错误:

SignalR:必须在发送数据之前启动连接。在 .send() 之前调用 .start()

到目前为止我尝试了什么:

<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
</configuration>

<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>

两种解决方案 (https://github.com/SignalR/SignalR/wiki/Faq) 都没有解决我的问题。有任何想法吗)?谢谢。

最佳答案

确保正确配置 echo 脚本的 url:

var connection = $.connection('<%= ResolveClientUrl("~/echo") %>');

由于您在 ~/Pages 文件夹中使用 echo 是不正确的,因为您的路由需要 /echo/appname/echo 如果应用程序托管在虚拟目录中。

关于c# - SignalR 拒绝工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8119103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com