草庐IT

Activity回调

全部标签

c++ - EnumDisplayMonitors 回调

我正在尝试使用EnumDisplayMonitors创建每个监视器的动态数组并存储DISPLAY_DEVICE结构。为什么下面的代码不正确?BOOLCALLBACKMyInfoEnumProc(HMONITORhMonitor,HDChdcMonitor,LPRECTlprcMonitor,LPARAMdwData){MONITORINFOEXiMonitor;iMonitor.cbSize=sizeof(MONITORINFOEX);GetMonitorInfo(hMonitor,&iMonitor);if(iMonitor.dwFlags==DISPLAY_DEVICE_MIRRO

c# - 无法使用 Prism 从回调方法内部导航

我有一个使用WPF和Prism的小型应用程序。我有我的外壳和两个模块。我可以以“正常方式”(例如通过单击按钮)在它们之间成功导航,因此我知道它们已正确连接以进行导航。但是,如果我执行一些在完成时触发事件的异步操作,我就无法从该事件处理程序内部进行导航。我尝试的最后一件事是使用事件聚合将事件发布回UI线程,但它仍然没有导航。事件订阅者成功获取事件并触发RequestNavigate(...)但UI没有更新。现在,一些代码:我的第一个模块LoginModule的View模型:publicclassLoginViewModel:ViewModelBase,ILoginViewModel,IN

c# - 为什么 SocketAsyncEventArgs 的 Completed 回调经常在新创建的线程中执行,而不是使用有界线程池?

我有一个简单的客户端应用程序,它以低吞吐量从网络接收字节缓冲区。这是代码:privatestaticreadonlyHashSet_capturedThreadIds=newHashSet();privatestaticvoidRunClient(Socketsocket){vare=newSocketAsyncEventArgs();e.SetBuffer(newbyte[10000],0,10000);e.Completed+=SocketAsyncEventsArgsCompleted;Receive(socket,e);}privatestaticvoidReceive(Soc

c# - 可观察到 Rx 中的回调

我正在寻找一种优雅的方式来使用Rx从一个普通的回调委托(delegate)创建一个Observable,类似于Observable.FromEventPattern?说,我正在包装Win32EnumWindows回调我提供的EnumWindowsProc的API。我知道我可以为这个回调创建一个临时的C#事件适配器并将它传递给FromEventPattern。此外,我可能可以手动实现IObservable,因此它会从我的EnumWindowsProc回调中调用IObserver.OnNext。是否存在我缺少的用于在Rx中包装回调的现有模式? 最佳答案

c# - WCF Windows 服务 - 长操作/回调调用模块

我有一个Windows服务,它获取一堆文件的名称并对它们进行操作(压缩/解压缩、更新数据库等)。这些操作可能需要一些时间,具体取决于发送到服务的文件的大小和数量。(1)向该服务发送请求的模块等待文件处理完毕。我想知道是否有一种方法可以在服务中提供回调,在完成文件处理后通知调用模块。请注意,多个模块可以一次调用该服务来处理文件,因此我猜该服务将需要提供某种类型的TaskId。(2)如果一个服务方法被调用并正在运行,并且对同一个服务进行了另一个调用,那么将如何处理该调用(我认为只有一个线程与该服务相关联)。我已经看到,当服务在处理方法时花费时间时,与服务关联的线程开始增加。

c# - Visual Studio 2010 不会在 Socket.BeginReceive() 回调中出现未处理的异常时停止 - 为什么?

通常,当附加调试器时,VisualStudio2010会在未处理的异常处停止,即使“异常”对话框的“抛出”列中没有异常类型的勾号也是如此。这里的关键词是unhandled;表示dialog仅指已处理的异常。但是,在下面的最小示例中,VisualStudio2010并没有在我的异常处停止,即使它作为第一次机会异常出现在立即窗口中也是如此:编辑:我发布的第一个最小示例由我收到的第一个答案修复,但不幸的是,以下示例仍然存在问题:usingSystem;usingSystem.Net.Sockets;namespaceSocketTest{classProgram{staticvoidMain

c# - 为什么每个 Dispatcher.BeginInvoke 回调都有一个唯一的同步上下文?

我刚刚注意到,在.NET4.5中,每个Dispatcher.BeginInvoke/InvokeAsync回调都在其自己非常独特的同步上下文(的实例)上执行DispatcherSynchronizationContext).这种变化背后的原因是什么?以下简单的WPF应用说明了这一点:usingSystem;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.Windows;usingSystem.Windows.Threading;namespaceWpfApplication{publicpartialclassMain

c# - 在退出程序之前等待 System.Threading.Timer 回调完成

我有一个List.每个计时器以可配置的时间间隔触发(默认10分钟)。所有调用相同的回调方法(具有不同的参数)。回调方法可能需要几秒钟才能完成其工作。当程序终止时,回调方法的执行似乎立即停止(我没看错吗?)。如何在退出程序之前优雅地等待任何当前正在执行的回调方法完成? 最佳答案 您可以使用WaitHandler参数处理所有计时器。仅当回调方法完成时才会向此处理程序发出信号(如规范所述:“在所有当前排队的回调完成之前,计时器不会被释放。”)voidWaitUntilCompleted(ListmyTimers){ListwaitHnd=

c# - 如何向现有的依赖属性回调添加逻辑?

我正在尝试将PropertyChangedCallback添加到UIElement.RenderTransformOriginProperty。当我尝试覆盖PropertyMetadata时抛出异常。我已经搜索了MSDN和Google,我所能想到的是this.DependencyPropertyDescriptor.AddValueChanged在那篇文章的某个时候被建议,但这不会解决我的问题,因为这不是每个实例的回调。我完全不明白这个异常是什么意思。有谁知道我做错了什么?publicclassfoo:FrameworkElement{privatestaticvoidOrigin_C

c# - 获取依赖属性内的 'this' 指针更改回调

我在一个类中有以下依赖属性:classFooHolder{publicstaticDependencyPropertyCurrentFooProperty=DependencyProperty.Register("CurrentFoo",typeof(Foo),typeof(FooHandler),newPropertyMetadata(OnCurrentFooChanged));privatestaticvoidOnCurrentFooChanged(DependencyObjectd,DependencyPropertyChangedEventArgse){FooHolderhol