Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Will a SignalR Core server connect OK with 'traditional' Signalr 2 clients? #985

Closed
willdean opened this issue Oct 4, 2017 · 6 comments
Closed

Comments

@willdean
Copy link

willdean commented Oct 4, 2017

We have a system currently on netfx 4.6 which uses the SignalR C# client to connect numerous geographically distributed machines to a central server.

We would like to consider moving the server to ASP.NET Core, a prerequisite of which is that we have SignalR available on ASP.NET Core, hence our interest in the project.

Are our existing 'traditional SignalR' clients going to be able to connect to the ASP.Net Core/SignalR Core server when it's available? We wouldn't want to have to update every client and the central system all in one enormous 'big bang', so we are looking for a transitional strategy which would allow one side to be updated before the other.

@moozzyk
Copy link
Contributor

moozzyk commented Oct 4, 2017

No, the old clients will not work with the new server and the new clients will not work with the old server.

@moozzyk moozzyk closed this as completed Oct 4, 2017
@willdean
Copy link
Author

willdean commented Oct 4, 2017

Thanks. We'll move this particular app away from SignalR.

@blogcraft
Copy link

Ok, so this is a big "Don't use SignalR ever"

@willdean
Copy link
Author

Ok, so this is a big "Don't use SignalR ever"

I think it's OK to use SignalR between a web-browser and the server, because you don't need long-term protocol compatibility or long-term connection-reliability (at the first hint of a problem people will just refresh the page and everything resets). Expectations are generally low on browser-based apps.

We wouldn't use it for M2M stuff again - fairly miserable experience in service and the back-compat betrayal was actually a benefit in disguise as it pushed us to move away, which has been useful.

I am pretty much at the point of thinking at ANY proprietary technology that spans client+server is a mistake.

@sirfarmalot
Copy link

@willdean what did you move towards?

@willdean
Copy link
Author

We just do HTTP POST in one direction (client -> server) and maintain a long-poll GET in the other direction, which times out and is re-established every 30 seconds. It's really not very complex, particularly as async handlers are so easy in modern MVC.

We might look again at websockets if/when we ever get to .NET core - it all seemed a bit undocumented and only-really-added-to-support-SignalR in 4.x last time we looked.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants