Mövzunu Açan
#0
SignalR, ASP.NET uygulamaları için gerçek zamanlı web fonksiyonları geliştirmeyi sağlayan bir kütüphanedir. Kullanıcıların web tarayıcıları ile sunucular arasında anlık veri iletimi yapmalarına olanak tanır. Bu sayede, kullanıcıların etkileşimde bulunduğu uygulamalar daha dinamik ve kullanıcı dostu hale gelir. SignalR, WebSocket, Server-Sent Events ve Long Polling gibi çeşitli transport yöntemlerini destekler ve bu sayede daha geniş bir tarayıcı ve platform uyumluluğu sağlar.
Kurulum
SignalR kullanmaya başlamak için öncelikle projenize SignalR kütüphanesini eklemeniz gerekmektedir. Bunu NuGet Package Manager kullanarak yapabilirsiniz. Örneğin, şu komut ile SignalR'ı projenize ekleyebilirsiniz:
Daha sonra, SignalR'ı yapılandırmak için bir
Hub Oluşturma
SignalR'da iletişim, Hub adı verilen sınıflar üzerinden gerçekleştirilir. Hub, istemci ve sunucu arasında veri alışverişini kolaylaştırır. Aşağıda bir Hub sınıfı örneği verilmiştir:
İstemci Tarafı
İstemci tarafında, SignalR kütüphanesini kullanarak sunucu ile bağlantı kurmalısınız. Aşağıdaki JavaScript kodu, bir mesaj gönderimini ve alınan mesajları dinlemeyi göstermektedir:
Sonuç olarak, SignalR, gerçek zamanlı uygulamalar geliştirmek için oldukça etkili bir araçtır. Kullanıcı deneyimini artırmak için anlık veri iletimine ihtiyaç duyan projelerde tercih edilmelidir. SignalR ile ilgili daha fazla detay ve örnek uygulamalar için resmi dökümantasyonu inceleyebilirsiniz.
Kurulum
SignalR kullanmaya başlamak için öncelikle projenize SignalR kütüphanesini eklemeniz gerekmektedir. Bunu NuGet Package Manager kullanarak yapabilirsiniz. Örneğin, şu komut ile SignalR'ı projenize ekleyebilirsiniz:
CODE
1Install-Package Microsoft.AspNet.SignalRDaha sonra, SignalR'ı yapılandırmak için bir
Startup sınıfı oluşturmalısınız. Aşağıda basit bir yapılandırma örneği verilmiştir:CODE
12345678
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
Hub Oluşturma
SignalR'da iletişim, Hub adı verilen sınıflar üzerinden gerçekleştirilir. Hub, istemci ve sunucu arasında veri alışverişini kolaylaştırır. Aşağıda bir Hub sınıfı örneği verilmiştir:
CODE
123456789
public class ChatHub : Hub
{
public void Send(string name, string message)
{
// Tüm istemcilere mesaj gönder
Clients.All.broadcastMessage(name, message);
}
}
İstemci Tarafı
İstemci tarafında, SignalR kütüphanesini kullanarak sunucu ile bağlantı kurmalısınız. Aşağıdaki JavaScript kodu, bir mesaj gönderimini ve alınan mesajları dinlemeyi göstermektedir:
CODE
12345678910111213141516
$(function () {
var chat = $.connection.chatHub;
chat.client.broadcastMessage = function (name, message) {
$('#messages').append('' + name + ': ' + message + '');
};
$('#sendButton').click(function () {
var name = $('#name').val();
var message = $('#message').val();
chat.server.send(name, message);
});
$.connection.hub.start();
});
Sonuç olarak, SignalR, gerçek zamanlı uygulamalar geliştirmek için oldukça etkili bir araçtır. Kullanıcı deneyimini artırmak için anlık veri iletimine ihtiyaç duyan projelerde tercih edilmelidir. SignalR ile ilgili daha fazla detay ve örnek uygulamalar için resmi dökümantasyonu inceleyebilirsiniz.