Support Client side Keep Alive for C# client #741

Closed
NTaylorMullen opened this Issue Oct 2, 2012 · 6 comments

Comments

Projects
None yet
5 participants
@NTaylorMullen
Contributor

NTaylorMullen commented Oct 2, 2012

This was implemented for the JavaScript client via #469. This still needs to be implemented for the C# client.

@Lance772

This comment has been minimized.

Show comment Hide comment
@Lance772

Lance772 Oct 24, 2012

Just curious. Will the C# client update come at the same time as the Alpha 1.0 release? And I know you can't give a definite time, but an approximation of when it will release? Thanks!

Just curious. Will the C# client update come at the same time as the Alpha 1.0 release? And I know you can't give a definite time, but an approximation of when it will release? Thanks!

@NTaylorMullen

This comment has been minimized.

Show comment Hide comment
@NTaylorMullen

NTaylorMullen Oct 24, 2012

Contributor

This will not be released simultaneously with the Alpha release. It's been punted for now. I started building out a hacky version (still bugs with it) and its located: https://github.com/SignalR/SignalR/tree/CSharpKeepAlive. Take a look at it to see how it's implemented and potentially implement one yourself. Keep in mind it will not work along side of the 1.0 alpha release since all the namespaces have changed.

Contributor

NTaylorMullen commented Oct 24, 2012

This will not be released simultaneously with the Alpha release. It's been punted for now. I started building out a hacky version (still bugs with it) and its located: https://github.com/SignalR/SignalR/tree/CSharpKeepAlive. Take a look at it to see how it's implemented and potentially implement one yourself. Keep in mind it will not work along side of the 1.0 alpha release since all the namespaces have changed.

@ghost ghost assigned abnanda1 Jan 11, 2013

abnanda1 added a commit that referenced this issue Feb 13, 2013

Made changes to the KeepAlive feature as per code review feedback
- Added a SuccessiveTimeoutTest to test the case when the connection times out successively
- Added constructors to the KeepAliveData class
#741

abnanda1 added a commit that referenced this issue Feb 13, 2013

Made changes to the KeepAlive feature as per code review feedback
- Added a SuccessiveTimeoutTest to test the case when the connection times out successively
- Added constructors to the KeepAliveData class
#741

abnanda1 added a commit that referenced this issue Feb 14, 2013

Made changes to the KeepAlive Feature as per code review feedback
- Added an Interlocked Exchange variable to Beat in HeartBeatMonitor to prevent race conditions
- Added a null-check before starting the HeartBeatMonitor in Connection to prevent null exceptions

#741

abnanda1 added a commit that referenced this issue Feb 19, 2013

Made changes to the KeepAlive feature as per code review feedback
- Added a SuccessiveTimeoutTest to test the case when the connection times out successively
- Added constructors to the KeepAliveData class
#741

abnanda1 added a commit that referenced this issue Feb 19, 2013

Made changes to the KeepAlive Feature as per code review feedback
- Added an Interlocked Exchange variable to Beat in HeartBeatMonitor to prevent race conditions
- Added a null-check before starting the HeartBeatMonitor in Connection to prevent null exceptions

#741
@NTaylorMullen

This comment has been minimized.

Show comment Hide comment
@NTaylorMullen

NTaylorMullen Feb 22, 2013

Contributor

This has been opened for a while (after being completed), has this been verified?

Contributor

NTaylorMullen commented Feb 22, 2013

This has been opened for a while (after being completed), has this been verified?

@gustavo-armenta

This comment has been minimized.

Show comment Hide comment
@gustavo-armenta

gustavo-armenta Mar 3, 2013

Contributor

Verified setting Server.DisconnectTimeput=5mins and using Streaming connection sample
On the client computer, I started clients using IE/Chrome with JS/SL/Console clients. Then slept the computer for at least a minute, when the PC reactivated, all connections reconnected and received pending messages.

Contributor

gustavo-armenta commented Mar 3, 2013

Verified setting Server.DisconnectTimeput=5mins and using Streaming connection sample
On the client computer, I started clients using IE/Chrome with JS/SL/Console clients. Then slept the computer for at least a minute, when the PC reactivated, all connections reconnected and received pending messages.

@davidfowl

This comment has been minimized.

Show comment Hide comment
@davidfowl

davidfowl Mar 3, 2013

Owner

@gustavo-armenta This feature needs more banging on before it's marked as verified. The keep alive feature in JavaScript was super buggy and had tons of edge cases. I'd sync up with @NTaylorMullen and @Xiaohongt and see what scenarios/bugs were found and covered there so we can get coverage for them in C#.

Owner

davidfowl commented Mar 3, 2013

@gustavo-armenta This feature needs more banging on before it's marked as verified. The keep alive feature in JavaScript was super buggy and had tons of edge cases. I'd sync up with @NTaylorMullen and @Xiaohongt and see what scenarios/bugs were found and covered there so we can get coverage for them in C#.

@davidfowl davidfowl reopened this Mar 3, 2013

@gustavo-armenta

This comment has been minimized.

Show comment Hide comment
@gustavo-armenta

gustavo-armenta Mar 7, 2013

Contributor

Verified additional test scenarios resulting in one issue: #1644

Contributor

gustavo-armenta commented Mar 7, 2013

Verified additional test scenarios resulting in one issue: #1644

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment