Is SignalR suitable for windows desktop applications (winforms/wpf)?
What are the advantages and disadvantages using SignalR with windows desktop applications?
Are there any performance considerations?
I want to make real-time connections between server and a lot of clients. The connections will be constant.
SignalR can be used to add any sort of "real-time" web functionality to your ASP.NET application. While chat is often used as an example, you can do a whole lot more. Any time a user refreshes a web page to see new data, or the page implements long polling to retrieve new data, it is a candidate for using SignalR.
Like the rest of ASP.NET, SignalR was built for high performance and is one of the fastest real-time frameworks around.
ASP.NET SignalR is a new library for ASP.NET developers that makes developing real-time web functionality easy. SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available.
SignalR Hub Protocol. The SignalR Protocol is a protocol for two-way RPC over any Message-based transport. Either party in the connection may invoke procedures on the other party, and procedures can return zero or more results or an error.
Is SignalR suitable for windows desktop applications (winforms/wpf)?
The answer from signalr.net is:
SignalR can be used to add any sort of "real-time" web functionality to your ASP.NET application.
(As stated correctly by others it can be self-hosted, so no need for IIS)
So the answer seems to be no. It is a server side API. But today is your lucky day, since the download of SignalR doesn't only reveal the server side API, but also a client side API called Microsoft.AspNet.SignalR.Client45
to use in your application. It works for WPF, WF or even console applications.
And even if it didn't, SignalR is just a wrapper around the WebSockets protocol, which is part of the HTTP protocol, which can be used on virtually any platform. The download also contains a sample for iOS and Xamarin for example.
What are the advantages and disadvantages using SignalR with windows desktop applications?
To have real-time notifications from and to the server.
Is there any performance problems?
That is a hard question to answer, since there is no reference point. Compared to what the performance is good or bad? Generally spoken, I don't think you have to worry to much about that. The API itself is fast, and it may prevent slow pull-requests you need to do else.
It is absolutelly correct to consume SinglarR hub in any client application, WPF, windows phone, UWP, iOS, Android, including HTML. Microsoft has created client libraries on many platforms.
When it comes to hosting SignalR, then you can definitelly host you SingalR server (hub) in WPF application, but you need a reason:
The reason may be:
By the way, SignalR and OWIN has been an inspiration for the new ASP.NET 5. You can now host your ASP.NET apps in WPF, console application or windows service app without IIS, or even on Linux.
http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-host
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With