我正在尝试在我的ASP.NET MVC站点和Javascript客户端设置SignalR。
这是我的客户:
@section scripts{
<script src="~/Scripts/jquery.signalR-2.0.2.min.js"></script>
<script type="text/javascript">
$(function () {
var connection = $.connection('/MY_ENDPOINT');
connection.received(function (data) {
$('#chatArea').append('>>' + data + "\r\n");
});
connection.start().done(function () {
$("#send").click(function () {
connection.send($('#msg').val());
$("#msg").val("");
});
});
connection.error(function (e) {
console.log(e);
});
});
</script>
}
当然,我有相应的HTML元素chatArea
和msg
。在服务器中,这就是我所做的:
app.MapSignalR("MY_ENDPOINT", new Microsoft.AspNet.SignalR.HubConfiguration());
,确保在注册auth方法之前调用它。PersistentConnection
子类化,并覆盖了OnConnected
和OnReceived
种方法。然而,当我运行我的应用程序并导航到该页面时,我可以看到我的端点的negotiate
和connect
方法被调用,它们都返回OK(HTTP 200)。我尝试通过单击“发送”按钮使用网页发送任何内容,在服务器端我收到此错误:
A first chance exception of type 'Newtonsoft.Json.JsonReaderException'
occurred in Newtonsoft.Json.dll
Additional information: Unexpected character encountered while
parsing value: a. Path '', line 0, position 0.
导致此错误的原因是什么?
更新:我还有一个带有SignalR-ObjC框架的iOS应用程序,我可以连接。但是,当我尝试通过它发送任何数据时,我得到了:
2014-03-06 19:39:39.853 Tanisalim[54987:70b] Websocket error: Error Domain=AFNetworkingErrorDomain Code=-1011 "Request failed: internal server error (500)" UserInfo=0xade84e0 {NSErrorFailingURLKey=http://10.211.55.3/api/socket/send?transport=longPolling&connectionData=(null)&connectionToken=xybYQ8ItTN0IWUbyrosuHy%2F3jN0krIyHLO6b6Gq8VdC3orwRRGkVSIgtYkNQINVLhRMW77cX%2BU2LiHxoe0eDE3ZumT7JrObJcQ%2FXyHiP25%2BQy%2BZizHEHbsPyBBomERoI, NSLocalizedDescription=Request failed: internal server error (500), NSUnderlyingError=0xade1290 "Request failed: unacceptable content-type: text/html"
但是,没有服务器端断点被击中。