如何.NET远程调用调试? [英] How to debug .NET remoting calls?

查看:200
本文介绍了如何.NET远程调用调试?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下基本架构的应用程序:

I have an app with the following basic architecture:

Windows服务(服务)的注册.NET类型(RemoteObject的)进行远程访问(.NET远程)。 RemoteObject的创建使用线程池做的IO处理非线程池线程。线程池的大小必须受到限制,以针对特定原因的限制。一个GUI应用程序使用.NET远程访问的RemoteObject。

A windows service (Service) that registers a .NET type (RemoteObject) for remote access (.NET Remoting). RemoteObject creates non-ThreadPool threads that use the ThreadPool to do IO processing. The size of the ThreadPool must be restricted to a limit for a particular reason. A GUI app uses .NET Remoting to access RemoteObject.

我已经注意到,如果线程池的大小太低,图形用户界面应用程序将拨打电话,以RemoteObject的时候死机。

I've noticed that if the size of the ThreadPool is too low, the GUI app will hang when making a call to RemoteObject.

我的问题是,我怎么能弄清楚这是为什么挂,为什么会在RemoteObject的线程受线程池?

My question is, how can I figure out why this is hanging, and why would the RemoteObject thread be affected by the ThreadPool?

这是推动我疯了;感谢您的帮助!

This is driving me crazy; thank you for your help!

推荐答案

事实证明,在.NET远程基础架构使用.N​​ET线程池(或股份底层的资源),所以远程调用可以挂起,如果所有的线程池线程都处于通过您的应用程序使用。

It turns out that the .NET remoting infrastructure uses the .NET ThreadPool (or shares the underlying resource), so remoting calls can hang if all ThreadPool threads are in use by your app.

这篇关于如何.NET远程调用调试?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆