Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. SignalR sucks

SignalR sucks

Scheduled Pinned Locked Moved The Lounge
data-structuresquestionworkspace
38 Posts 18 Posters 48 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Sander Rossel

    Why not RabbitMQ (which is first on that list and also the most well known by far)? Worked with it and it worked pretty well (never tried front-end though). I'm currently using Azure ServiceBus which also works great (but somehow isn't on that list). What kind of problems are you having with SignalR? I'm thinking about using it in a project of my own (in Azure), but this doesn't bode well :laugh:

    Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

    R Offline
    R Offline
    raddevus
    wrote on last edited by
    #9

    I thought RabbitMQ was a message que system. Does RabbitMQ implement WebSocket type of technology?

    Sander RosselS 1 Reply Last reply
    0
    • R raddevus

      I'm always interested in talking about "WebSocket" technology. I'm using Firebase in a project right now and I've created a firebase example you may find interesting. Here is the most simple example where you can move a game pawn in your browser window and see it move (across the Internet) in the other person's browser. pawns[^] I also wrote up an article on SignalR, but unfortunately it is using a little older version of SignalR : Beginner's Guide to Using SignalR via ASP.NET[^] Possible Way To Test? You may like to open the browser on a few different devices and try it out to see if you see the same problems you are seeing in your app. If you see the problems it may be the firewall or network you are on. Here's a direct link to the SignalR one you can try: pawns[^] It's a weird URL but that is because I wrote it a while back and the URL that it is coded up with is very important in the over all project. It's just anonymous link to my web site: raddev.us You can test simply by moving a game pawn around and seeing it move in other browsers. Open up a few browser windows and try it out and let me know.

      R Offline
      R Offline
      RickZeeland
      wrote on last edited by
      #10

      Thanks, I tried your pawns application (years ago I think) and that worked ok. The problem with our implementation might be that we use the self-hosted version of SignalR and a mix of .NET and .NET Core applications. Can't give more details because only my colleagues have full insight in this complex software.

      R 1 Reply Last reply
      0
      • R RickZeeland

        Thanks, I tried your pawns application (years ago I think) and that worked ok. The problem with our implementation might be that we use the self-hosted version of SignalR and a mix of .NET and .NET Core applications. Can't give more details because only my colleagues have full insight in this complex software.

        R Offline
        R Offline
        raddevus
        wrote on last edited by
        #11

        RickZeeland wrote:

        Can't give more details because only my colleagues have full insight in this complex software.

        I totally understand. My example is the most simple and basic thing possible, but when delving into real solutions things get complex fast. Wish I had more info to give you help but I know even with my simple example I ran into some real challenges. Good luck.

        1 Reply Last reply
        0
        • R RickZeeland

          Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

          S Offline
          S Offline
          Scott Serl
          wrote on last edited by
          #12

          I'm confused...SignalR is not a message queue...it's a communication link. You would usually use SignalR in conjunction with a message queue if you needed message queuing. The client would connect with SignalR, then the SignalR thread would queue the item in the message queue system and wait for a response to send back to the client. The important distinction here is that the SignalR thread keeps a connection with the client in order to notify. It can sort of be used like a message queue, but it's main characteristic is the continued connection to the client for notification and there is no queue. There can be performance implications in that each call to SignalR can launch an action concurrently and you can overload the server, but with a message queue, you can control how many threads or processes are servicing each queue and never have more concurrent processes than that. Then you can have as many SignalR threads waiting around for results to send back to the client.

          1 Reply Last reply
          0
          • Z ZurdoDev

            Sander Rossel wrote:

            also the most well known by far

            That doesn't speak well of the circles I hang out in. I HAVE heard of SignalR but NOT RabbitMQ. :laugh: SignalR is the most popular one I have heard about. :-O

            Social Media - A platform that makes it easier for the crazies to find each other. Everyone is born right handed. Only the strongest overcome it. Fight for left-handed rights and hand equality.

            Sander RosselS Offline
            Sander RosselS Offline
            Sander Rossel
            wrote on last edited by
            #13

            They're different technologies. SignalR is a wrapper around web sockets that can send data back to the browser (which isn't normally possible using HTTP, although SignalR should fallback to long polling if sockets fail or aren't supported). RabbitMQ (and ZeroMQ and ServiceBus) are queueing technologies, which support sending some data to a queue (or topic) where listener(s) will pick it up and do something with that data. I can see how queueing can be an alternative to sockets, but sockets are usually not a good (or even possible) alternative to queues.

            Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

            1 Reply Last reply
            0
            • R RickZeeland

              That looked good to me too, and also NATS (especially with future Docker microservices development in mind), but one of my colleagues already beat me to it with a Proof of Concept using ZeroMQ before I could even start a discussion about it, guess I'm getting too old and slow :sigh: And I must say, the more I read about ZeroMQ the more enthousiastic I get, it's even developed by a Dutch guy !

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #14

              Never heard of NATS (just read your experience on that list). My biggest objection to ZeroMQ would be the following:

              Some guy named Tim wrote:

              More complicated scenarios require more setup ZeroMQ is very fast due to its simplicity, but as a result of this, doing anything harder than passing messages between 2 peers will require a lot more work from the user.

              SignalR is (usually) a one-to-many broadcast, with support for channels. That sounds more like topics than queues, and according to this Tim topics aren't supported in ZeroMQ. RabbitMQ (and ServiceBus) do support topics out of the box. Although reading the ZeroMQ website it also seems they support topics as well, so Tim might just be a dirty little liar :laugh:

              Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

              1 Reply Last reply
              0
              • R raddevus

                I thought RabbitMQ was a message que system. Does RabbitMQ implement WebSocket type of technology?

                Sander RosselS Offline
                Sander RosselS Offline
                Sander Rossel
                wrote on last edited by
                #15

                I didn't think so, but then I found RabbitMQ Web STOMP Plugin — RabbitMQ[^]. I'm not sure how Rick wants to implement queueing in a browser, but with over 350,000 packages in the npm repository I'm sure there's one for connecting your queue to JavaScript :laugh:

                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                1 Reply Last reply
                0
                • R RickZeeland

                  Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                  M Offline
                  M Offline
                  Mark_Wallace
                  wrote on last edited by
                  #16

                  Just a wild stab in the dark, but is Symantec Endpoint Protection involved in the equation?

                  I wanna be a eunuchs developer! Pass me a bread knife!

                  R 1 Reply Last reply
                  0
                  • R RickZeeland

                    Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                    D Offline
                    D Offline
                    Dewey
                    wrote on last edited by
                    #17

                    What version of SignalR are you using, i.e. .net framework or .net core? BTW, they never tell you that if SignalR is on a port, in production, it's likely the firewall will block you at most companies.

                    R 1 Reply Last reply
                    0
                    • R RickZeeland

                      Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                      S Offline
                      S Offline
                      Sumuj John
                      wrote on last edited by
                      #18

                      Having a right skill is knowledge. If you don't know, then don't blame/insult the tool. Rather try to acquire the knowledge.

                      M 1 Reply Last reply
                      0
                      • S Sumuj John

                        Having a right skill is knowledge. If you don't know, then don't blame/insult the tool. Rather try to acquire the knowledge.

                        M Offline
                        M Offline
                        Mark_Wallace
                        wrote on last edited by
                        #19

                        But not all tools are created equal.

                        I wanna be a eunuchs developer! Pass me a bread knife!

                        1 Reply Last reply
                        0
                        • R RickZeeland

                          Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                          abmvA Offline
                          abmvA Offline
                          abmv
                          wrote on last edited by
                          #20

                          did u enable trace log..

                          Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                          We are in the beginning of a mass extinction. - Greta Thunberg

                          R 1 Reply Last reply
                          0
                          • M Mark_Wallace

                            Just a wild stab in the dark, but is Symantec Endpoint Protection involved in the equation?

                            I wanna be a eunuchs developer! Pass me a bread knife!

                            R Offline
                            R Offline
                            RickZeeland
                            wrote on last edited by
                            #21

                            Good one, we'll check that !

                            1 Reply Last reply
                            0
                            • D Dewey

                              What version of SignalR are you using, i.e. .net framework or .net core? BTW, they never tell you that if SignalR is on a port, in production, it's likely the firewall will block you at most companies.

                              R Offline
                              R Offline
                              RickZeeland
                              wrote on last edited by
                              #22

                              I know they are using self hosted .NET Core SignalR and maybe .NET too ... Microsoft.AspNet.SignalR.Core.dll 2.2.6

                              1 Reply Last reply
                              0
                              • abmvA abmv

                                did u enable trace log..

                                Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                                R Offline
                                R Offline
                                RickZeeland
                                wrote on last edited by
                                #23

                                Yes, but we did not get any wiser, that is the most frustrating thing about SignalR: you don't have a clue what is going on :sigh:

                                abmvA 1 Reply Last reply
                                0
                                • P PIEBALDconsult

                                  Pretty much anything of that sort is created by architecture astronauts and will not fullfil any particular need.

                                  R Offline
                                  R Offline
                                  Rage
                                  wrote on last edited by
                                  #24

                                  PIEBALDconsult wrote:

                                  architecture astronauts

                                  This is priceless. Will be reused.

                                  Do not escape reality : improve reality !

                                  P 1 Reply Last reply
                                  0
                                  • R RickZeeland

                                    Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                                    H Offline
                                    H Offline
                                    h0wXD
                                    wrote on last edited by
                                    #25

                                    Are you using the .NET Full Framework or the .NET core? I only started with .NET core 2.1 and built distributed batch processing work queue and it's working fine and even has good performance, tested crossplatform and scaled on aws cloud without problems. I did experiment with large messages (10MB) but (de)serialization performance caused me to stick to small packets and strip of unnecessary data.

                                    R 1 Reply Last reply
                                    0
                                    • H h0wXD

                                      Are you using the .NET Full Framework or the .NET core? I only started with .NET core 2.1 and built distributed batch processing work queue and it's working fine and even has good performance, tested crossplatform and scaled on aws cloud without problems. I did experiment with large messages (10MB) but (de)serialization performance caused me to stick to small packets and strip of unnecessary data.

                                      R Offline
                                      R Offline
                                      RickZeeland
                                      wrote on last edited by
                                      #26

                                      The problems are mainly with .NET Core SignalR. Large messages is not what SignalR is meant for, and we only use small messages.

                                      1 Reply Last reply
                                      0
                                      • R RickZeeland

                                        Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                                        C Offline
                                        C Offline
                                        C0byC
                                        wrote on last edited by
                                        #27

                                        have you looked at ServiceStack Server Events. as an alternative to SignalR?

                                        Over..

                                        R 1 Reply Last reply
                                        0
                                        • R RickZeeland

                                          Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                                          P Offline
                                          P Offline
                                          Paulo_JCG
                                          wrote on last edited by
                                          #28

                                          As Sander Rossel and Scott Serl pointed out, SignalR's goal is not to be a message queue service. The fact that you can use it as one does not mean you should.

                                          Paulo Gomes Measuring programming progress by lines of code is like measuring aircraft building progress by weight. —Bill Gates Everything should be made as simple as possible, but not simpler. —Albert Einstein

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups