This will be my 3rd post on SignalR technology. In previous post I shown how to get server time using SignalR client method, which will be called from server side. Now I shall show how to transfer data between server and client.
This is very simple solution and it can do as same way as normal .Net method calling with parameter.
I am not explaining these code again as I did it last time.
Startup.cs
ChatHub.cs file code:
Next will come HTML part, which is as below:
Hope you have enjoyed this post and please visit my blog again.
Next will show something about Lamda Expression which I shall use in my chat application.
This is very simple solution and it can do as same way as normal .Net method calling with parameter.
I am not explaining these code again as I did it last time.
Startup.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
}
ChatHub.cs file code:
using System;In this code I have added new method "sendmessage(parameter1)" and it will call same client method to return data to client. This is very simple code.
using System.Web;
using Microsoft.AspNet.SignalR;
namespace SignalRChat
{
public class ChatHub : Hub
{
/// <summary>
/// getservertime
/// </summary>
public void getservertime()
{
Clients.Caller.serverresponse("This is server response. Server is calling client method from server. <br/> Server time is: " + DateTime.Now.ToShortTimeString());
}
public void sendmessage(string usermessage)
{
Clients.Caller.serverresponse(usermessage + " :This is server message <br/>");
}
}
}
Next will come HTML part, which is as below:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>When you will run this in browser it will show as below:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>SignalR Simple Chat</title>
<style type="text/css">
.container {
background-color: #99CCFF;
border: thick solid #808080;
padding: 20px;
margin: 20px;
}
</style>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--Reference the jQuery library. -->
<script src="Scripts/json2.js"></script>
<script src="Scripts/jquery-1.10.2.js"></script>
<script src="Scripts/jquery-1.10.2.min.js"></script>
<!--Reference the SignalR library. -->
<script src="Scripts/jquery.signalR-2.0.0.js"></script>
<script src="Scripts/jquery.signalR-2.0.0.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="/signalr/hubs"></script>
<!--Add script to update the page and send messages.-->
<script type="text/javascript">
$(function () {
// Declare a proxy to reference the hub.
var chat = $.connection.chatHub;
//Write your server response related code here
chat.client.serverresponse = function (message) {
$('#dvServerResponse').append(message);
};
// Start the connection.
$.connection.hub.start().done(function () {
//Write your server invoke related code here
$('#btnHello').click(function () {
console.log('call server');
chat.server.sendmessage($('#txt').val());
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div>
Enter your message: <input type="text" id="txt" /><br />
<input type="button" id="btnHello" value="Send message to server" />
<div id="dvServerResponse"></div>
</div>
</div>
</form>
</body>
</html>
Hope you have enjoyed this post and please visit my blog again.
Next will show something about Lamda Expression which I shall use in my chat application.
No comments:
Post a Comment