You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 18, 2018. It is now read-only.
If parsing a hub message on the client side throws (e.g. due to invalid number of parameters) may hang forever. This may happen if client is awaiting for a completion message but a previous client side method invocation threw. This is because if a task in the task queue throws the queue will not schedule a new task.
We should at the hub connection level:
handle cases where it is easy to make a mistake (invalid parameter count or mismatched type)
in case of legitimate exceptions (e.g. invalid format) - close the connection
At the http connection level:
Close the connection if an exception is throw from the a queued task - nothing else can be queued if the queue ends up in this state
EDIT
Actually we should catch exceptions from users code and log. Only exceptions from parsing should result in closing the connection.
The text was updated successfully, but these errors were encountered:
This is partially fixed - hangs due to spoiled event queue (at the HttpConnection level) should no longer occur. At the hub level we need to make sure that if we receive a message and we cannot process it we will complete a corresponding invocation/tcs as long as we can read the invocation id from the message.
Uh oh!
There was an error while loading. Please reload this page.
If parsing a hub message on the client side throws (e.g. due to invalid number of parameters) may hang forever. This may happen if client is awaiting for a completion message but a previous client side method invocation threw. This is because if a task in the task queue throws the queue will not schedule a new task.
We should at the hub connection level:
At the http connection level:
EDIT
Actually we should catch exceptions from users code and log. Only exceptions from parsing should result in closing the connection.
The text was updated successfully, but these errors were encountered: