在ASP.NET 4.5网站中从客户端调用服务器时出现信号器错误500
我正在使用signal和ASP.NET 4.5webforms。我无法让客户端与服务器对话,反之亦然。我想要实现的只是能够测试客户端如何触发服务器功能以及服务器如何触发客户端功能。以下是我使用的代码: 客户端代码(HitCounter.aspx) 我正在IIS7.5上本地运行代码,但在Visual Studio 2012中运行代码时也会出现错误 错误: localhost/signalr/signalr/send?传输=serverSentEvents&connectionId=400f1302-6c8e-418e-a14c-da95f836a29d 500(内部服务器错误) 使用Chrome调试器时,错误页面显示: 无法解析“addHit”方法。 同样,我要做的是做一个简单的测试,检查如何从客户端调用服务器,以及如何从服务器调用客户端在ASP.NET 4.5网站中从客户端调用服务器时出现信号器错误500,asp.net,signalr,signalr.client,Asp.net,Signalr,Signalr.client,我正在使用signal和ASP.NET 4.5webforms。我无法让客户端与服务器对话,反之亦然。我想要实现的只是能够测试客户端如何触发服务器功能以及服务器如何触发客户端功能。以下是我使用的代码: 客户端代码(HitCounter.aspx) 我正在IIS7.5上本地运行代码,但在Visual Studio 2012中运行代码时也会出现错误 错误: localhost/signalr/signalr/send?传输=serverSentEvents&connectionId=400f1302
谢谢。无法解析addHit方法的原因是服务器上的函数名与客户端上的函数名相同 AKA调用您正在执行的服务器hub.addHit(“laksjdf”)。但是给客户打电话也是一样的:hub.addHit(“laksjdfldksj”);因此存在歧义。更改客户端或服务器端函数的名称,使它们在命名意义上是唯一的 此问题将在下一版本的Signal中修复
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="Scripts/jquery-1.8.2.js"></script>
<script src="Scripts/jquery.signalR-0.5.3.min.js"></script>
<script type="text/javascript" src="SignalR/Hubs"></script>
<style>
#currentHitCount {
font-family: Arial;
font-size:40pt;
margin-left:auto;
margin-right:auto;
display:block;
text-align:center;
}
</style>
</head>
<body>
<div id="currentHitCount"></div>
<script type="text/javascript">
$(function () {
var hub = $.connection.hitCounter;
$.extend(hub, {
showHitCount: function (hitCount){
if(hitCount > 1){
$('#currentHitCount')
.html("This site has had " + hitCount + " hits.");
}
else{
$('#currentHitCount')
.html("This site has had " + hitCount + " hit.");
}
},
addMessage: function (str) {
$('#currentHitCount')
.html("Getting Message: " + str);
}
});
$.connection.hub.start(function () {
hub.addMessage("test");
hub.addHit();
});
$.connection.hub.stateChanged(function (change) {
if ($.signalR.connectionState["connected"] === change.newState) {
}
});
$.connection.hub.error(function () {
});
});
</script>
<div style="background-color:red; width:290px; height:200px; color:white; position:absolute; top:100px; left:30px;" id="thebutton">test</div>
</body>
</html>
using SignalR.Hubs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
[HubName("hitCounter")]
public class HitCounterHub : Hub, IDisconnect
{
static int _hitCount;
public void addHit(string pageId)
{
_hitCount += 1;
Clients.showHitCount(_hitCount);
}
public Task ClientCallingServer()
{
_hitCount += 1;
return Clients["foo"].showHitCount(_hitCount);
}
public Task Join()
{
return Groups.Add(Context.ConnectionId, "foo");
}
public Task Send(string message)
{
_hitCount += 1;
return Clients["foo"].addMessage(message);
}
public Task Disconnect()
{
return Clients["foo"].leave(Context.ConnectionId);
}
}