Silverlight tcp 套接字永远不会第二次回调,除非我在 connectasync 调用上设置断点

发布于 2024-11-06 13:35:10 字数 240 浏览 6 评论 0原文

我有一个尝试连接的方法。我目前正在测试连接失败。如果失败,则会向用户提供重试按钮。如果我按下它,m_tcpSocket.ConnectAsync(m_connectArgs);再次被调用,但我从未收到回调。

但是,如果我在 ConnectAsync 调用处放置断点,则会发生回调。

当在 Visual Studio 中命中断点时,是否需要明确执行一些清理工作,这些清理工作会自动完成?

谢谢。

-缺口

I have a method that attempts to connect. I'm currently testing connection failure. If it fails, the user is offered a retry button. If I press it, m_tcpSocket.ConnectAsync(m_connectArgs); is called again, but I never get a callback.

However, if I put a breakpoint at the ConnectAsync call, the callback will occur.

Is there some cleanup I need to explicitly do that is done automatically when a breakpoint is hit in visual studio?

Thank you.

-Nick

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘴硬脾气大 2024-11-13 13:35:10

SocketAsyncEventArgs 上的 Completed 事件并不总是被调用。您应该检查 ConnectAsync 调用的布尔返回值。

false 值表示连接请求已同步完成,SocketAsyncEventArgs 上的属性将准备好进行检查,并且 Completed 事件不会触发。

The Completed event on the SocketAsyncEventArgs is not always called. You sould check the boolean return value of your call to ConnectAsync.

A false value indicates that the connection request has completed synchronously, the properties on the SocketAsyncEventArgs will be ready for inspection and the Completed event will not fire.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文