如何解决在 mvc 视图上未收到 SignalR 消息
我正在尝试将消息从 api 发送到我正在运行的视图 在单独的 api 上。集线器已打开,消息会定期显示 带有日志的 html 页面。但是当我在我的 cshtml 上使用它时没有显示任何内容 看法。我的第一个 api url 就像 http://localhost:2003/ 我的第二个 api 是 http://localhost:2001/
hub.cs 于 2003 年
[HubName("ContosoChatHub")]
public class ContosoChatHub : Hub
{
public void SendQuestiontoClient(string msg)
{
string publishtime = Convert.ToString(DateTime.UtcNow);
Clients.All.addSendQuestiontoClient(msg);
}
}
startup.cs 在两个 api 中输入
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
public IHttpActionResult SendHubMessage()
{
var response = new ApiResponse<bool>(RequestId);
try
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ContosoChatHub>();
for (int i= 0;i<i+1;i++)
{
Thread.Sleep(4000);
hubContext.Clients.All.addSendQuestiontoClient(i+"th Message");
}
response.Data = true;
response.Status = new ApiStatus(ResponseStatus.Successstatus.GetErrorCode(),ResponseStatus.Successstatus.GetErrorDescription());
return Ok(response);
}
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="jquery.signalR-2.2.0.min.js"></script>
<script src="http://localhost:2003/signalr/hubs"></script>
<script>
$(function () {
var connection = $.hubConnection();
connection.logging=true;
connection.url = "http://localhost:2003/signalr";
var contosoChatHubProxy = connection.createHubProxy('contosoChatHub');
contosoChatHubProxy.on('addSendQuestiontoClient',function (msg) {
console.log(msg);
});
connection.start({ withCredentials: false }).done(function () {
});
});
</script>
test.cshml 不工作并且在控制台中没有显示
@section scripts{
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<script src="http://localhost:2003/signalr/hubs"></script>
<script>
$(function () {
var connection = $.hubConnection();
connection.logging = true;
connection.url = "http://localhost:2003/signalr";
var contosoChatHubProxy = connection.createHubProxy('contosoChatHub');
contosoChatHubProxy.on('addSendQuestiontoClient',function (msg) {
console.log(msg);
connection.start({ withCredentials: false }).done(function () {
});
});
});
</script>
}@
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。