1
からは何も受けていない、私の角度の方法は、私のハブコードです:はなぜここsignalr
using System.Threading.Tasks;
using Microsoft.AspNet.SignalR;
namespace Voting.Hubs
{
public class VotingHub: Hub
{
private static readonly IHubContext HubContext = GlobalHost.ConnectionManager.GetHubContext<VotingHub>();
public override Task OnConnected()
{
Groups.Add(Context.ConnectionId, Context.Request.Url.Host);
return base.OnConnected();
}
public static void SendVotingResults(string channel, string content)
{
HubContext.Clients.Group(channel).votingResultMessage(content);
}
}
}
私はこのような私のAPIからこれを呼び出す:角度で
VotingHub.SendVotingResults(Request.Headers["Host"], GenerateJson(result));
私は、次の工場を持っています:
私はそれを設定するためにこのコードを使用しています、私の角度コントローラで次にapp.factory('backendHubProxy', ['$rootScope',
function ($rootScope) {
function backendFactory(hubName) {
var host = window.location.protocol + '//' + window.location.hostname;
var connection = $.hubConnection(host);
var proxy = connection.createHubProxy(hubName);
connection.start().done(function() { });
return {
on: function (eventName, callback) {
proxy.on(eventName, function (result) {
$rootScope.$apply(function() {
if (callback) {
callback(result);
}
});
});
}
};
};
return backendFactory;
}]);
:
var votingHub = backendHubProxy('votingHub');
votingHub.on('votingResultMessage', function (data) {
console.log(data);
});
"Hub.OnConnectは、" 私の開発者向けツールのログ
/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=9BlaqaLwJnMVduhWpMeQ0H0k0R5gV7rrHCQEdn5IV0KRRyRRD5C83v2AGQPXPzCLtMdAy5Tbus416oHgK%2FuAtPZYDRtiJw51reJKuq1kOcHu%2F5Hp9krbq1VmT8eZekjd&connectionData=%5B%5D&tid=0
/signalr/start?transport=webSockets&clientProtocol=1.5&connectionToken=9BlaqaLwJnMVduhWpMeQ0H0k0R5gV7rrHCQEdn5IV0KRRyRRD5C83v2AGQPXPzCLtMdAy5Tbus416oHgK%2FuAtPZYDRtiJw51reJKuq1kOcHu%2F5Hp9krbq1VmT8eZekjd&connectionData=%5B%5D&_=1490614124062
最後の呼び出しの応答があるにもかかわらず、呼び出されていないよう:{ "レスポンス": "開始"}
をSendVotingResultsを呼び出すことはサーバー上で正常に動作しますが、クライアントは何も受信しません。
私は間違っていますか?