A Microsoft open-source framework for building native device applications spanning mobile, tablet, and desktop.
Thank you for reaching out.
The issue is that the SignalR connection fails after negotiate, during _conn.Start(). This means the server is throwing an error while handling the actual connection request from the iOS app, even though negotiate succeeds.
What you can do to resolve this:
- Check the server/IIS logs at the time
_conn.Start()is called from iOS. You will find a server-side exception for/signalr/connector/signalr/start, which explains why HTTP 500 is returned. - Verify that the server supports the transport used by the iOS client (for example WebSockets). If WebSockets are blocked or not fully enabled in IIS, proxy, or firewall, the start request will fail.
- Compare the iOS request with Android (headers, transport, URL path). You will usually see a difference that explains why only iOS hits the server error.
Once the server-side exception or transport issue is fixed, _conn.Start() will succeed on iOS as well.
References:
- ASP.NET Core SignalR connection troubleshooting Troubleshoot connection errors
- Troubleshooting guide for Azure SignalR Service common issues Please let us know if you require any further assistance, we’re happy to help. If you found this information useful, kindly mark this as "Accept Answer". So that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.