Signalr javascript函数未调用信号集线器方法
这是集线器方法Signalr javascript函数未调用信号集线器方法,signalr,signalr.client,Signalr,Signalr.client,这是集线器方法 <code> `public void SendChat() { var clients = Clients.All; clients.sendchat(); }` </code> 这是客户端方法 <code> ` var chat = $.connection.echo;
<code>
`public void SendChat()
{
var clients = Clients.All;
clients.sendchat();
}`
</code>
这是客户端方法
<code> ` var chat = $.connection.echo;
chat.client.sendchat = function () {
console.log("signalR work!"); };`
</code>
这是服务器方法
此sendChat方法不是echoHub的sendChat方法!
请帮忙。1。阅读教程 根据您的代码,我建议您从以下教程开始: 为什么要打ajax电话?你从哪里开始连接的?。。。使用signalr,您应该首先启动到服务器的连接。之后,您可以向两个方向发送消息 2。样本代码 根据上一链接中的以下示例,您可以向前迈出一步: 服务器部分: 客户部分:
<code>
$('#sendMessage').click(function () {
$.ajax({ type: 'POST',
url: '/InboxUI/SendMessage',
data: { friendId: friend, message: text },
success: function (sendDate) {
date = sendDate.toLocaleString('tr-TR', { timeZone:
'UTC' });} }).done(function () {
hub.server.sendChat();});
});
</code>
public class ContosoChatHub : Hub
{
public void NewContosoChatMessage(string name, string message)
{
Clients.All.addNewMessageToPage(name, message);
}
}
var contosoChatHubProxy = $.connection.contosoChatHub;
// Define the methods which the client can call on the server. (Must be befor start!)
contosoChatHubProxy.client.addContosoChatMessageToPage = function (name, message) {
console.log(userName + ' ' + message);
};
// Important you must start the connection
$.connection.hub.start()
.done(function(){
console.log('Now connected, connection ID=' + $.connection.hub.id);
})
.fail(function(){ console.log('Could not Connect!'); });
// You can call also method from client on server like (Connection must be established first!):
contosoChatHubProxy.server.newContosoChatMessage({ UserName: userName, Message: message}).done(function () {
console.log ('Invocation of NewContosoChatMessage succeeded');
}).fail(function (error) {
console.log('Invocation of NewContosoChatMessage failed. Error: ' + error);
});